更新时间:2020-06-23
注:自V3.6.0起,原内置覆盖物(Overlay)相关代码开源,SDK中不再集成,下载使用。
覆盖物开源代码中提供了一些基于基础覆盖物而组合而成的高级覆盖物,包括用于显示poi数据,规划路线,公交详情路线的覆盖物。
IndoorRouteOverlay/TransitRouteOverlay/WalkingRouteOverlay/BikingRouteOverlay/DrivingRouteOverlay/MassTransitRouteOverlay/ 以上源码在BaiduMapsApiDemo工程(Eclipse开发环境)和BaiduMapApiASDemo工程(AndroidStudio开发环境)com.baidu.mapapi.ovelayutil包下。 在进行路线规划Overlay绘制时根据开发环境选择开源工程添加至项目中使用。
市内公交路线规划简介
市内公交路径规划可以根据起终点和市内公交路线的数据,使用 TransitRouteOverlay 画出市内公交路线图层,包括起终点和转弯点。支持自定义起终点和市内公交转弯点的图标。市内公交线路规划将废弃,跨城公交线路规划包含市内公交线路规划transit的全部功能,建议使用跨城综合公交线路规划。
市内公交路线规划
1创建路线规划检索实例
mSearch = RoutePlanSearch.newInstance();
2创建路线规划检索结果监听器
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() { ...... @Override public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) { //创建TransitRouteOverlay实例 TransitRouteOverlay overlay = new TransitRouteOverlay(mBaiduMap); //获取路径规划数据,(以返回的第一条数据为例) //为TransitRouteOverlay实例设置路径数据 if (transitRouteResult.getRouteLines().size() > 0) { overlay.setData(transitRouteResult.getRouteLines().get(0)); //在地图上绘制TransitRouteOverlay overlay.addToMap(); } } ...... };
注:需要将下载并解压后的BaiduMapsApiASDemo或BaiduMapsAPIDemo工程根据开发环境选择并添加到您的项目中才可以使用以上Overlay功能。
3设置检索结果监听器
mSearch.setOnGetRoutePlanResultListener(listener);
4准备起终点信息
PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "西二旗地铁站"); PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "百度科技园");
5发起检索
mSearch.transitSearch((new TransitRoutePlanOption()) .from(stNode) .to(enNode) .city("北京"));
注意设置检索城市。
6释放检索实例
mSearch.destroy();效果如图: