Android 百度地图SDK 骑行路线规划

发布于:2024-03-13 ⋅ 阅读:(100) ⋅ 点赞:(0)

普通骑行线路规划

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); // 添加途径点

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到