全部服务产品
开发者频道
定价
登录
骑行路线规划
下载开发文档
注:自V3.6.0起,原内置覆盖物(Overlay)相关代码开源,SDK中不再集成,需要开发者自行实现,下载使用

覆盖物开源代码中提供了一些基于基础覆盖物而组合而成的高级覆盖物,包括用于显示poi数据,规划路线,公交详情路线的覆盖物。
IndoorRouteOverlay/TransitRouteOverlay/WalkingRouteOverlay/BikingRouteOverlay/DrivingRouteOverlay/MassTransitRouteOverlay/ 以上源码在BaiduMapsApiDemo工程(Eclipse开发环境)和BaiduMapApiASDemo工程(AndroidStudio开发环境)com.baidu.mapapi.ovelayutil包下。 在进行路线规划Overlay绘制时根据开发环境选择开源工程添加至项目中使用。

骑行路线规划简介

自V3.7.0起,支持普通骑行路线规划,自V4,4.0起,支持电动车骑行路线规划。骑行路线规划可以根据起终点和骑行路线的数据,使用BikingRouteOverlay绘制出骑行路线图层,包括起终点和转弯点。支持自定义起终点和转弯点的图标。自V7.5.4起,骑行路线规划支持途径点,仅支持一个途径点。

普通骑行线路规划
1. 创建路线规划检索实例
mSearch = RoutePlanSearch.newInstance();
2. 创建路线规划检索结果监听器
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() {
......
@Override
public void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {
//创建BikingRouteOverlay实例
BikingRouteOverlay overlay = new BikingRouteOverlay(mBaiduMap);
if (bikingRouteResult.getRouteLines().size() > 0) {
//获取路径规划数据,(以返回的第一条路线为例)
//为BikingRouteOverlay实例设置数据
overlay.setData(bikingRouteResult.getRouteLines().get(0));
//在地图上绘制BikingRouteOverlay
overlay.addToMap();
}
}
};

注:需要将下载并解压后的BaiduMapsApiASDemo或BaiduMapsAPIDemo工程根据开发环境选择并添加到您的项目中才可以使用以上Overlay功能。

3. 设置路线规划检索监听器
mSearch.setOnGetRoutePlanResultListener(listener);
4. 准备起终点信息
PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "西二旗地铁站");
PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "百度科技园-2号楼");
5. 发起检索
mSearch.bikingSearch((new BikingRoutePlanOption())
.from(stNode)
.to(enNode)
// ridingType 0 普通骑行,1 电动车骑行
// 默认普通骑行
.ridingType(0));
6. 释放检索实例
mSearch.destroy();

效果如图:

电动车骑行路线规划

电动车骑行导航与普通骑行导航在创建BikingRoutePlanOption对象时通过ridingType字段设置,默认为0,表示普通骑行路线规划,为1表示电动车骑行路线规划。

mSearch.bikingSearch((new BikingRoutePlanOption())
.from(stNode)
.to(enNode)
// ridingType 0 普通骑行 1 电动车骑行
// 默认普通骑行
.ridingType(1));
骑行路线规划支持途径点

BikingRoutePlanOption类新增passBy()方法,具体说明如下:

方法名参数类型参数名备注
passByList<PlanNode>wayPoints骑行路线规划只支持一个途径点

示例代码如下:

// 设置途径点信息 途径点参数
PlanNode wayPointNode = PlanNode.withCityNameAndPlaceName(mEditWpCity.getText().toString().trim(),
mWpNodeView.getText().toString().trim());
// 途径点列表有且仅有一个途径点
List<PlanNode> wayPoints = new ArrayList<>();
wayPoints.add(wayPointNode);
// 步行路线规划参数
BikingRoutePlanOption bikingRoutePlanOption = new BikingRoutePlanOption().
from(startNode).
to(endNode).
passBy(wayPoints); // 添加途径点

上一篇

步行路线规划

下一篇

驾车路线规划

本篇文章对您是否有帮助?