Android studio 百度地图开发(7)overlayManager、overlayutil应用


开发环境:win7 64位,Android Studio,请注意是Android Studio;

+导航SDK版本:3.1.0+地图SDK版本:3.7.3+定位SDK版本:6.2.3


百度地图开发系列文章:

  • 百度地图应用(1):Android studio 百度地图开发(1)配置工程、显示地图
  • 百度地图应用(2)Android studio 百度地图开发(2)地图定位
  • 百度地图应用(3)Android studio 百度地图开发(3)地图导航
  • 百度地图应用(4)Android studio 百度地图开发(4)触摸选点、地理编码

  • 百度地图应用(5):Android studio 百度地图开发(5)查询周边服务(加油站)
  • 百度地图应用(6):Android studio 百度地图开发(6)Marker绑定事件、计算两点距离

一.问题引入

该部分内容还是属于导航部分的应用,例如《Android studio 百度地图开发(3)地图导航》。只是应用(3)里使用的是百度官方导航Demo:有起点和终点后,直接进入导航模式,而不会先展示规划路径,然后点击导航才正式进入导航模式。可能有时候我们也有这样的需求:在地图上选择起点和终点后,需要给出几种规划方案供我们选择,比如:躲避拥堵、时间最少、少换乘等等;另外一点,我们可能需要在地图上展示出这些规划方案,也就是在地图上添加路径图层,此时就需要用到overlay以及其子类DrivingRouteOverlay等等。

But,问题就随之而来。为了实现这个需求,ask度娘,就会查到很多现成的导航例子,但是这些例子所使用的SDK版本都比较旧了,使用较新的SDK+别人的代码或者是官方Demo,都会出现问题,那就是找不到PoiOverlayTransitRouteOverlayWalkingRouteOverlayBusLineOverlayDrivingRouteOverlay等等,为什么呢?因为从SDK3.6.0以后,这些类代码已经放在了源码包:com.baidu.mapapi.overlayutil中,而overlayutil源码包并没有在3.6.0之后的SDK中


二.解决方法

既然问题是这样的,那就只能自己将官方的overlayutil整合到自己的工程里了。为了减少需要改动的地方,我们需要在自己的工程里再新建一个包,用来放置官方的overlayutil相关代码,步骤如下。

1)先下载官方的overlayutil和clusterutil

下载地址1:点击下载【推荐,附带使用说明的文档】

下载地址2:点击下载【下载示例代码】

2)使用方法

①如果是使用下载地址1:解压后按照方法.txt即可

②如果是下载方法2:

解压后,源码路径为:BaiduMap_AndroidMapSDK_v3.7.1_Sample\BaiduMapsApiDemo\src\com\baidu\mapapi

然后:1)方式一:在工程的../java目录下新建com->baidu->mapapi,然后将clusterutil和overlayutil复制进去就可以;
2)方式二:直接将src/下的整个com文件复试到工程的java目录下。


最终的样子:


然后就可以正常使用规划路径图层了,关于图层的添加方法和类设计《点击查看,一定要看》:

  route = result.getRouteLines().get(0);            DrivingRouteOverlay overlay = new DrivingRouteOverlay(mBaidumap);            //routeOverlay = overlay;            mBaidumap.setOnMarkerClickListener(overlay);            overlay.setData(result.getRouteLines().get(0));            overlay.addToMap();            overlay.zoomToSpan();

更多相关文章

  1. android中Baseadapter的 getItem 和 getItemId 的作用和重写
  2. [转]Android(安卓)分裂的多面性
  3. Android(安卓)design support library---CollapsingAvatarToolba
  4. android rk及allwinner方案bug解决方法集
  5. Android国际化中用到的国家/地区 语言缩写代码
  6. Android(安卓)通过网页打开自己的APP(scheme)
  7. Android(安卓)Wear 报错:cannot connect to localhost:4444: 由于
  8. 4.0 以上插耳机让音乐在耳机播放,屏蔽掉喇叭播放
  9. Android(安卓)高德地图,显示地图,并定位当前的位置

随机推荐

  1. Android StartActivity时候出现的require
  2. android中的activity里获得context方法
  3. Android 自定义拨打电话程序段
  4. android之SQLite数据库insert操作
  5. 一步一步学Android(一)
  6. json详解
  7. Android判读是否安装了某一款APP
  8. android动画编
  9. Android 子线程更新UI
  10. Android下实现短信的收发