普通骑行线路规划
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. 发起检索6. 释放检索实例
mSearch.destroy();
效果如图:
电动车骑行路线规划
电动车骑行导航与普通骑行导航在创建BikingRoutePlanOption对象时通过ridingType字段设置,默认为0,表示普通骑行路线规划,为1表示电动车骑行路线规划。
mSearch.bikingSearch((new BikingRoutePlanOption())
.from(stNode)
.to(enNode)
// ridingType 0 普通骑行 1 电动车骑行
// 默认普通骑行
.ridingType(1));
骑行路线规划支持途径点
BikingRoutePlanOption类新增passBy()方法,具体说明如下:
方法名 | 参数类型 | 参数名 | 备注 |
---|---|---|---|
passBy | List<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); // 添加途径点