百度地图定位功能--BMKLocationManager

3.30更新。
新版的sdk不好用,定位功能总有延迟,而且相对于老版内存过大。 最后找到以前的版本了。 pod 'BaiduMapKit','~> 3.4.2'

在新的百度地图sdk中,定位功能被移除了, 需要新的pod--pod 'BMKLocationKit,官方文档

当定位功能使用后,就会发现发生了内存泄露(退出vc时,不走dealloc)
使用过百度地图的都知道,需要将mapView,等等使用过代理的,要置为nil。
先看定位对象的初始化AK。

[[BMKLocationAuth sharedInstance] checkPermisionWithKey:BDMAPKEY authDelegate:self];
//初始化实例
_locationManager = [[BMKLocationManager alloc] init];
//设置delegate
_locationManager.delegate = self;`

问题就出现了在里,
[[BMKLocationAuth sharedInstance] checkPermisionWithKey:BDMAPKEY authDelegate:self];`

所以在viewWillDisappear 置为nil就可以了

[[BMKLocationAuth sharedInstance] checkPermisionWithKey:BDMAPKEY authDelegate:nil];
当然别忘记了
-(void)viewWillAppear

[[BMKLocationAuth sharedInstance] checkPermisionWithKey:BDMAPKEY authDelegate:self];
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容