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

1.下载相关开发包

首先要进入百度地图开放平台,https://lbsyun.baidu.com/index.php?title=androidsdk,然后点击产品下载:


下载过后解压,会得到下面的文件夹:

打开下面的文件夹,

然后再解压最下面这个压缩包,解压过后就可以看到一个android studio的项目

打开项目找到overlayutil包,并复制到你的项目里面去。

这是你项目的样子,


然后在把再把百度开发包里面的其他资源复制到你的项目,
其中这几个东西不必导入
其中res这个文件夹的东西都要复制到自己的项目中,
当然你也完全不必这么做,可以把下载来的百度地图开发包当做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,因为我想在程序启动的时候就看到规划的路线,这是不行的,你可以设置一个按钮,然后点这个按钮过后再进行路线规划!

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  3. 或许您还不知道的八款开源Android游戏引擎
  4. Android之如果解决Android(安卓)studio项目里面的类名不能重命名
  5. Android的项目不能直接引用可移植类库的项目解决方法
  6. Eclipse中Android公共库的正确建立及调用方法
  7. Android学习路线(转)
  8. Android自动化测试框架Robotium学习笔记
  9. Android(安卓)组件化,从入门到不可自拔

随机推荐

  1. 给自己看的技巧小贴士
  2. android开发学习笔记001a
  3. Android中ProgressBar的使用-通过Handler
  4. android CountDownTimer 倒计时
  5. Android中资源文件夹res/raw和assets的使
  6. android内核字符驱动设备实战之---------
  7. Android recovery 下使用 updater-script
  8. Android的UI主线程是ActivityThread吗?
  9. android 使用Intent传递数据之静态变量
  10. Android Textview 字数超长显示省略号