整理下在使用百度地图的过程中新发现的问题,在首页中我正常调用了百度地图iOS的API,代理也正常返回,但是在使用过程中始终无法弹出系统的询问位置权限的弹出框,后整理发现是因为百度地图无法触发iOS自身的定位系统,如果想要弹出系统的位置授权框就需要在首页之前,使用iOS系统的CLLocationManager来提前定位
上代码
首先遵循代理CLLocationManagerDelegate
然后定义属性
@property (nonatomic, strong) CLLocationManager *locationManager;
- 懒加载
- (CLLocationManager *)locationManager {
if (!_locationManager) {
_locationManager = [[CLLocationManager alloc] init];
_locationManager.delegate = self;
_locationManager.desiredAccuracy = kCLLocationAccuracyBest;
_locationManager.distanceFilter = kCLLocationAccuracyHundredMeters;
if (SSystemVersion.floatValue > 8.0) {
[_locationManager requestWhenInUseAuthorization];
}
}
return _locationManager;
}
- 开始定位
-(void)startUserLocation
{
self.locationManager.delegate = self;
[self.locationManager startUpdatingLocation];
}