更新时间:2020-06-23
注:自V3.6.0起,原内置覆盖物(Overlay)相关代码开源,SDK中不再集成,下载使用。
覆盖物开源代码中提供了一些基于基础覆盖物而组合而成的高级覆盖物,包括用于显示poi数据,规划路线,公交详情路线的覆盖物。 IndoorRouteOverlay/TransitRouteOverlay/WalkingRouteOverlay/BikingRouteOverlay/DrivingRouteOverlay/MassTransitRouteOverlay/ 以上源码在BaiduMapsApiDemo工程(Eclipse开发环境)和BaiduMapApiASDemo工程(AndroidStudio开发环境)com.baidu.mapapi.ovelayutil包下。 在进行路线规划Overlay绘制时根据开发环境选择开源工程添加至项目中使用。
室内路线规划简介
室内路线规划可以根据室内步行路线的起终点信息,通过IndoorRouteOverlay类画出室内步行路线图层,包括起终点和转弯点。支持开发者自定义起终点和转弯点图标。
自v4.1版起,新增室内线路规划,目前仅支持检索起点、终点坐标在同一室内图上的线路规划,即仅支持同一商场,不支持两个不同的商场内的起、终点。
室内路线规划示例
1创建路线规划检索实例
mSearch = RoutePlanSearch.newInstance();
2创建路线规划检索监听器
OnGetRoutePlanResultListener listener = new OnGetRoutePlanResultListener() { ...... @Override public void onGetIndoorRouteResult(IndoorRouteResult indoorRouteResult) { //创建IndoorRouteOverlay实例 IndoorRouteOverlay overlay = new IndoorRouteOverlay(mBaiduMap); if (indoorRouteResult.getRouteLines() != null && indoorRouteResult.getRouteLines().size() > 0) { //获取室内路径规划数据(以返回的第一条路线为例) //为IndoorRouteOverlay实例设置数据 overlay.setData(indoorRouteResult.getRouteLines().get(0)); //在地图上绘制IndoorRouteOverlay overlay.addToMap(); } } ...... };
注:需要将下载并解压后的BaiduMapsApiASDemo或BaiduMapsAPIDemo工程根据开发环境选择并添加到您的项目中才可以使用以上Overlay功能。
3设置路径规划检索监听器
mSearch.setOnGetRoutePlanResultListener(listener);
4准备起终点数据
IndoorPlanNode startNode = new IndoorPlanNode(new LatLng(39.917380, 116.37978), "F1"); IndoorPlanNode endNode = new IndoorPlanNode(new LatLng(39.917239, 116.37955), "F6");
5发起路径规划检索
mSearch.walkingIndoorSearch(new IndoorRoutePlanOption() .from(startNode) .to(endNode));
6释放检索实例
mSearch.destroy();效果如图: