更新时间:2020-06-23
注:自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绘制出骑行路线图层,包括起终点和转弯点。支持自定义起终点和转弯点的图标。
普通骑行线路规划
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("北京", "百度科技园");
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));