iOS开发之高德地图3D地图路线规划及定位的使用
废话不多说,直接进入正题!
一、首先导入3D地图和单次定位的SDK,这个官网上会有指点,我就不多说了。
二、下载官方demo,找到下图中的类加入自己的项目
这些是有关路线规划和路线颜色以及搜索的类
![](https://img.haomeiwen.com/i4096221/4e9d6f9bfd73b224.png)
三、项目里有用到些demo的代码。
先定义这些代理<AMapSearchDelegate,MAMapViewDelegate>
红框里的属性到时会用到的,前两个是大头针的标注,后面的是路线规划用的
![](https://img.haomeiwen.com/i4096221/31a60b641f8a7ccf.png)
有些是用不上的,懒得一一排除了。
![](https://img.haomeiwen.com/i4096221/8825a2c5207c7adc.png)
下图这些除了手势其他都是必须写的。
![](https://img.haomeiwen.com/i4096221/90fae6e5464abfd5.png)
这个我使用的是单次定位,使用常规定位的话每隔几秒或者一旦移动了就会刷新定位点,我的项目是不需要这样的,所以改成单次定位了,事实证明单次定位还是好用!
![](https://img.haomeiwen.com/i4096221/95918fa787b9ca8a.png)
这个是单次定位获取经度纬度和逆地理编码的方法,由于检索到的是街道的名字,所以就改成使用搜索类里的逆地理编码来获取位置名,其次里面还有大头只针方法和路线规划方法,因为要传入经度纬度才能有用,获取到定位蓝点的经度纬度后发起逆地理编码。
![](https://img.haomeiwen.com/i4096221/c53b3f77b2dcd737.png)
这个方法是点击按钮返回当前定位蓝点的位置的。
![](https://img.haomeiwen.com/i4096221/2361a159b6137ec6.png)
获取到起点和终点的经度纬度后需要调用路线规划的方法,还有就是清空地图上已有的路线,这个是很重要的,不然当你重新输入起点和终点后新的路线和之前搜索过的路线都会显示出来的。
![](https://img.haomeiwen.com/i4096221/8bedb9914005a88b.png)
逆地理编码获取的数据就不用说了吧
![](https://img.haomeiwen.com/i4096221/c064b46d792efb60.png)
此方法是demo的代码,作用是规划路线的那条线的属性,粗细颜色之类。
![](https://img.haomeiwen.com/i4096221/5808ad58a5a23d46.png)
![](https://img.haomeiwen.com/i4096221/1e7c3f2ad6162b7e.png)
路线规划回调方法,可以获取到行车时间,公里,价格。(if里面可以写你展示这些属性的控件)
![](https://img.haomeiwen.com/i4096221/656117af77a363f8.png)
展示路线方案,也是demo里的代码。
![](https://img.haomeiwen.com/i4096221/531cb79f78044bba.png)
这个是大头针,起点和终点确认后会插入大头针。(起点会在定位时就插入)
![](https://img.haomeiwen.com/i4096221/98d25625795a23b7.png)
![](https://img.haomeiwen.com/i4096221/c435c0af34af62f5.png)
大头针点击后的显示视图,这里我只显示了起点和终点的位置信息
![](https://img.haomeiwen.com/i4096221/d1f639be189befef.png)
![](https://img.haomeiwen.com/i4096221/45ee0e631377e873.png)
地理编码的回调函数,清理和添加大头针。
![](https://img.haomeiwen.com/i4096221/4382d3eadae34a96.png)
![](https://img.haomeiwen.com/i4096221/c7ac41eba40b3cdf.png)
搜索的比较简单些就不上传代码了。
到这里路线规划就ok了,也是第一次做路线规划有不对的还请指出。