覆盖物开源代码中提供了一些由基础覆盖物组合而成的高级覆盖物,包括用于显示POI数据、路线规划结果、公交路线详情的覆盖物。
IndoorRouteOverlay/TransitRouteOverlay/WalkingRouteOverlay/BikingRouteOverlay/DrivingRouteOverlay/MassTransitRouteOverlay/ 以上源码在BaiduMapsApiDemo工程(Eclipse开发环境)和BaiduMapsApiASDemo工程(Android Studio开发环境)com.baidu.mapapi.overlayutil包下。 在进行路线规划Overlay绘制时根据开发环境选择开源工程添加至项目中使用。
自V3.7.0起,支持普通骑行路线规划;自V4.4.0起,支持电动车骑行路线规划。骑行路线规划可以根据起终点和骑行路线的数据,使用BikingRouteOverlay绘制出骑行路线图层,包括起终点和转弯点。支持自定义起终点和转弯点的图标。自V7.5.4起,骑行路线规划支持途经点,仅支持一个途经点。
mSearch = RoutePlanSearch.newInstance();
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() {......@Overridepublic void onGetBikingRouteResult(BikingRouteResult bikingRouteResult) {//创建BikingRouteOverlay实例BikingRouteOverlay overlay = new BikingRouteOverlay(mBaiduMap);if (bikingRouteResult.getRouteLines().size() > 0) {//获取路线规划数据(以返回的第一条路线为例)//为BikingRouteOverlay实例设置数据overlay.setData(bikingRouteResult.getRouteLines().get(0));//在地图上绘制BikingRouteOverlayoverlay.addToMap();}}};
注:需要将下载并解压后的BaiduMapsApiASDemo或BaiduMapsAPIDemo工程根据开发环境选择并添加到您的项目中才可以使用以上Overlay功能。
mSearch.setOnGetRoutePlanResultListener(listener);
PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "西二旗地铁站");PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "百度科技园-2号楼");
mSearch.bikingSearch((new BikingRoutePlanOption()).from(stNode).to(enNode)// ridingType 0 普通骑行,1 电动车骑行// 默认普通骑行.ridingType(0));
mSearch.destroy();
效果如图:

电动车骑行与普通骑行路线规划通过创建BikingRoutePlanOption对象时的ridingType字段区分:默认为0,表示普通骑行路线规划;设为1表示电动车骑行路线规划。
mSearch.bikingSearch((new BikingRoutePlanOption()).from(stNode).to(enNode)// ridingType 0 普通骑行 1 电动车骑行// 默认普通骑行.ridingType(1));
BikingRoutePlanOption类新增passBy()方法,具体说明如下:
示例代码如下:
// 设置途经点信息 途经点参数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(stNode).to(enNode).passBy(wayPoints); // 添加途经点
上一篇
下一篇