android百度地图开发之步行路线规划

android百度地图开发之路线规划

1.下载相关开发包

首先要进入百度地图开放平台,https://lbsyun.baidu.com/index.php?title=androidsdk,然后点击产品下载:
android百度地图开发之步行路线规划_第1张图片
android百度地图开发之步行路线规划_第2张图片
下载过后解压,会得到下面的文件夹:
在这里插入图片描述
打开下面的文件夹,
android百度地图开发之步行路线规划_第3张图片
然后再解压最下面这个压缩包,解压过后就可以看到一个android studio的项目

android百度地图开发之步行路线规划_第4张图片打开项目找到overlayutil包,并复制到你的项目里面去。android百度地图开发之步行路线规划_第5张图片

这是你项目的样子,

在这里插入图片描述
然后在把再把百度开发包里面的其他资源复制到你的项目,
其中这几个东西不必导入
android百度地图开发之步行路线规划_第6张图片其中res这个文件夹的东西都要复制到自己的项目中,android百度地图开发之步行路线规划_第7张图片
当然你也完全不必这么做,可以把下载来的百度地图开发包当做jar包导入自己的项目,但我这么试过,就是一直出错,应该是我太菜了

2.编程实现

这部分你可以去参考百度地图的开发文档,https://lbsyun.baidu.com/index.php?title=androidsdk/guide/route/walk
1.首先定义RoutePlanSearch mSearch = RoutePlanSearch.newInstance();
2.然后设置监听函数

在这里插入图片描述

    @Override
    public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {
        //创建WalkingRouteOverlay实例
        WalkingRouteOverlay overlay = new WalkingRouteOverlay(mBaiduMap);
        if (walkingRouteResult.getRouteLines().size() > 0) {
            //获取路径规划数据,(以返回的第一条数据为例)
            //为WalkingRouteOverlay实例设置路径数据
            overlay.setData(walkingRouteResult.getRouteLines().get(0));
            //在地图上绘制WalkingRouteOverlay
            overlay.addToMap();
        }
    }
 
};

如果你想得到路线的距离的话,可以使用:getDistance()函数
在这里插入图片描述

3.设置路线规划检索监听器mSearch.setOnGetRoutePlanResultListener(listener);

准备起终点信息

PlanNode stNode = PlanNode.withCityNameAndPlaceName("北京", "西二旗地铁站");
PlanNode enNode = PlanNode.withCityNameAndPlaceName("北京", "百度科技园");

当然你也可以使用经纬度来设置:

PlanNode stNode = PlanNode.withLocation(new LatLng(myLocation.getLatitude(), myLocation.getLongitude()));
PlanNode enNode = PlanNode.withLocation(new LatLng(myLocation.getLatitude()+0.0005, myLocation.getLongitude()+0.0005));

上面代码中myLocation是当前的位置,你也可以设置成其他经纬度。

5.发起检索mSearch.walkingSearch((new WalkingRoutePlanOption())
.from(stNode)
.to(enNode));

last but not least:
不要在oncreate函数里面执行路线规划的代码,初始化变量可以,我就是因为这个原因找了半天的bug,因为我想在程序启动的时候就看到规划的路线,这是不行的,你可以设置一个按钮,然后点这个按钮过后再进行路线规划!

你可能感兴趣的:(android,百度地图开发)