上一篇文章介绍了高德的基础定位,这次我们来说一下高德导航功能。而且我觉得很有必要给后来人员一个引导,因为我在用的时候用到很大问题,因为文档很坑,当然也可能是我用的不好,才会出现这样的问题,希望有用过的朋友可以和我交流。
1.在以前的基础上加入jar包:
高德的导航包中是包括location包的,所以在你引入导航包之后要删除以前就有的location包。
另外就是jni库,由于我以前的gradle过滤ndk {abiFilters"armeabi",“armeabi-v7a”...}是这样写的,当然后边还有一些架构,这样的话就导致一个问题也不报错也加载不出来amapNavi类,后来还是看了好多文献,再加上自己的天分还不错,才悟了出来,高德文档带有的libs下只有armeabi目录所以gradle过滤的话也要写成ndk{abiFilters"armeabi"}只能有armeabi的过滤,要不然你也会出现和我一样的错误。
2.语音注册
因为高德使用的是科大讯飞的语音包所以如果你想要在导航中加入语音功能,还需要在科大讯飞的开放平台注册创建一个应用并且要在你定义的BaseApplication中添加SpeechUtility.createUtility(context, SpeechConstant.APPID+"=your appid")。
3.正题
上来先要靠一下高德的文档,由于本人想要省点劲,就采用了高德的无起点路径规划的方法,结果始终返回false,即路径规划失败,于是乎我找了很多文档也没有找到原因,哎,算了还是重新定位了一下然后使用mAMapNavi.calculateDriveRoute(startPoints,endPoints,mWayPointList, strategy);就是这样就ok了,BaseActivity是不用修改的,但是在GpsNaviActivity类中一定不要想着省懒劲去用什么无起点导航。代码就不上了,只是简单的介绍一下高德导航需要注意的一些地方,如果还有疑问可以加QQ417825033咱们多多交流。