百度地图路线规划开发过程中遇到的坑

时间:2024-05-30 15:49:53

鄙人是一名Android新手,最近在接了一个百度地图路径规划的开发任务,由于废了相当大的劲,现总结遇到的坑和开发过程中用到的东西,以便广大新手和我日后借鉴(记不住)与大家交流。

 

好多专业语言表达不准确,请见谅,高手勿喷,若有错误或者更好的解决方法,希望能学习一下。

本文只针对驾车路线规划。

首先,新建地图就不说了。

以下为百度地图路径规划官方的开发文档(我就直接截图了):

百度地图路线规划开发过程中遇到的坑

百度地图路线规划开发过程中遇到的坑

百度地图路线规划开发过程中遇到的坑

百度地图路线规划开发过程中遇到的坑

看似很简单,每一步解释的都很清晰,但是弄到程序里后没有反应,为什么呢,感觉百度的开发说明对新手挺不友好的,在网络上查了好多之后,才可以确定要在第二部中加入如下的代码:

百度地图路线规划开发过程中遇到的坑

第一个if是没有用的,只是为了检查是否进入了这个监听里。

然后在对result判断,在result为”no_error”时才会进行路线规划。虽然不知道最后一个if里好多都是啥意思(有时间再查),但是没有这些是不行的。

这个时候就会发现”DrivingRouteOverlay”是红色的,于是乎,我这初学者的大脑就想到了是不是没有路线规划的包,然后在下载开发包那里我就把所有功能都点上了,还是不行,又百度,发现了一个绘制overlay的问题,参考以下链接:

https://blog.****.net/chentravelling/article/details/51190543?locationNum=3&fps=1#commentBox

按照上面这个网址的方法,在****上下载了两个文件并添加进去之后,还是不行,发现这个回答是两年之前的了,然后我把示例代码下载下来,在示例代码中找到了这两个文件夹:

百度地图路线规划开发过程中遇到的坑

一共包含三个Demo,在第一个中复制的:

百度地图路线规划开发过程中遇到的坑

就是这两个文件夹,全部复制到自己的工程中后,再次运行,还是不行,是一个marker为空的问题,根据代码中提到的icon名,定位到Demo中该icon所在的位置,就是这个:

百度地图路线规划开发过程中遇到的坑

然后将debug中的所有文件复制到工程中对应的位置,然后出现了一个新的问题“权限鉴定未完成,查找并测试一番后,发现是第五步发起规划检索不应直接放在onCreate里,发起规划检索过早是不行滴(是要等程序反应过来?),于是放在了一个按钮的监听里就能用了。

 

就是这些了,成功之后感觉也不过如此,但是需要学习的还有很多,对于新手,网上的很多示例说的感觉都不太明白,希望这个能够帮到大家。