iOS百度地图使用时不弹出系统定位权限框

整理下在使用百度地图的过程中新发现的问题,在首页中我正常调用了百度地图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];
}

这套代码可以写在appdelegate里面也可以在首页里面和百度地图同时写,目的是触发iOS位置授权框

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