高德地图集成iOS

2016-08-29  本文已影响1205人  离离乱惑

1.[MAMapKit] apiKey为空,请检查key是否正确设置。

首先如果你只引入高德地图那么在申请的Key是没有问题的,只要在AppDelegate中设置

[AMapServicessharedServices].apiKey = key;

然后遇到“[MAMapKit] apiKey为空,请检查key是否正确设置”的打印信息,只要在AppDelegate中再设置

[MAMapServices sharedServices].apiKey = key;

2.周边云检索标注问题

CloudPOIAnnotation类在sdk里找不到,可以在高德下载的demo里面找到,拖到工程里。另外构造AMapCloudPOIAroundSearchRequest对象,设置云周边检索请求参数的时候,设置center的坐标前最好先打印一下坐标信息,看看是否已经完成定位了,要是没定位就开始设置就会出现请求参数的中心坐标为(0,0),造成无法检索到自有数据。

3.导航的坑

要是要集成导航功能,需要用到3D的地图,会跟之前的2D地图相互冲突。要删掉原先的MAMapKit.framework,引入新的。有试过删除,莫名报很多错。干脆新建了一个工程,按照导航的文档来集成,基本的地图功能也能够实现。

高德导航的语音播报是集成的科大讯飞的,最好调用系统的语音合成。

需要语音识别功能的话要自己集成讯飞的库,高德集成的好像有修改讯飞库的工具类(会出现冲突),所以导航的语音播报最好使用 AVSpeechSynthesizer 合成语音(iOS7及以上版本)

4.隐藏系统的蓝色精度圈

高德地图有一个属性:customizeUserLocationAccuracyCircleRepresentation

是否自定义用户位置经度圈。默认是NO,显示系统的蓝色样式。

如果为YES,会调用代理方法

- (MAOverlayRenderer *)mapView:(MAMapView *)mapView rendererForOverlay:(id)overlay

可以在代理里面设置自己想要的样式。

如果需要隐藏掉,只要return nil就可以了。

上一篇下一篇

猜你喜欢

热点阅读