高德地图集成iOS
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就可以了。