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];
网友评论