今天接近一整天都在搞高德导航自定义UI,晚上下班前,终于搞好了,大致的界面就这这样咯,

高德导航官方有一部分教程,http://lbs.amap.com/api/android-navi-sdk/guide/navigation-map/ui-setting/ 大家可以参考,但不是很详细

首先要知道一个方法
AMapNaviViewOptions mapOptions = mAMapNaviView.getViewOptions();
mapOptions.setLayoutVisible(false);
该方法设置导航界面UI是否显示,也就是除了地图之外其他的元素是否显示,设置为false之后,这些界面就可以随便自己定义了。
对于那些像指南针、激光柱、路段纹理,这些可见icon或者纹理等就不说了,看教程即可。

对于像图示中,还有多少米,进入下个xxxx路口,还剩多少公里和时间等等,这样的数据,是怎么得到的呢?
关键的一个接口AMapNaviListener .onNaviInfoUpdate(NaviInfo naviinfo)
naviinfo对象中有很多我们想要的信息,像下个路口的信息,距离,时间,还有转向的类型,等等,我们就可以拿出来去自定义我们的界面,具体的信息详见http://a.amap.com/lbs/static/unzip/Android_Navi_Doc/index.html

另外一个注意的点是,拖动地图会导致车头不指向手机上方,或者中心点偏离屏幕中心,会回调 onNaviMapMode(int isLock) 方法,
0:车头朝上状态;1:非锁车状态,即车标可以任意显示在地图区域内。
我们只需要调用mAMapNaviView.recoverLockMode();就可以使中心点回到屏幕中心,模拟继续导航的操作。

由于某些功能原因,从百度地图转到高德地图,顺便提一下百度地图中遇到的坑
1.fragments重叠 TextureMapView和Mapview
2.滑动冲突
3.生命周期不重写,切换地图,造成的画面模糊
4.地图sdk的路径规划,得出的最优路径,不能和导航进行结合

更多相关文章

  1. android 百度地图sdk v3.4 绘制历史轨迹
  2. Android小问题:android studio怎么查看数字签名 sha1(集成百度地图
  3. LayoutInflater使用
  4. android uri的用法
  5. Android利用CountDownTimer实现倒计时功能 Android实现停留5s跳
  6. 弹出软键盘时,activity界面整体上移
  7. Android(安卓)模拟器实现打电话
  8. Android(安卓)界面刷新
  9. 【Android】fragment+Viewpager+自动隐藏导航栏

随机推荐

  1. FFMpeg For Android之Ubuntu下编译
  2. Android设计原则/Android Design Princip
  3. Cocos2d-x移植android加入震动效果
  4. Android自用-----Intent 介绍
  5. Android(安卓)OKHTTP 网络请求出错重连--
  6. Android中shape使用
  7. [android][利用JNI技术在Android中调用、
  8. Android(安卓)Neon
  9. android通过代码来开启和关闭移动网络
  10. webservice android