美文网首页
关于高德地图单次定位回调返回Code=5 "取消"的问题

关于高德地图单次定位回调返回Code=5 "取消"的问题

作者: X_my | 来源:发表于2017-08-26 14:52 被阅读0次

使用高德地图定位SDK中的单次定位API:

- (BOOL)requestLocationWithReGeocode:(BOOL)withReGeocode completionBlock:(AMapLocatingCompletionBlock)completionBlock;

逆地理传YES时,block回调location有值,但是regeocode对象为空,且error如下:

Error Domain=AMapLocationErrorDomain Code=5 "取消" UserInfo={NSLocalizedDescription=取消}

造成这种情况的原因是逆地理信息还未获取到,但locationManager对象已经销毁。

解决方法很简单,即延长locationManager对象的生命周期,保证在逆地理信息获取过程中locationManager不要被销毁,比如设置成属性持有。

笔者的项目中将定位功能抽象成了一个类,这个类是单例,所以笔者将locationManager设置成了这个类的属性,问题得到解决,仅供参考。

相关文章

网友评论

      本文标题:关于高德地图单次定位回调返回Code=5 "取消"的问题

      本文链接:https://www.haomeiwen.com/subject/hdnmdxtx.html