定位

1.添加plist里授权描述


2.创建管理对象

- (CLLocationManager *)locationManager {

    if (_locationManager != nil) {

        return _locationManager;

    }

    _locationManager = [[CLLocationManager alloc] init];

    [_locationManager setDelegate:self];

    _locationManager.distanceFilter = 5.0;

    [_locationManager setDesiredAccuracy:kCLLocationAccuracyBest];

    return _locationManager;

}

3.请求授权

- (void)updateLocation {

    int status = [CLLocationManager authorizationStatus];

    if (status < 3) {

        if ([[UIDevice currentDevice].systemVersion floatValue] >= 8) {

            [self.locationManager requestAlwaysAuthorization];

            [self.locationManager requestWhenInUseAuthorization];

        }

    }else {

        [self.locationManager startUpdatingLocation];

    }

}

#pragma mark CLLocationManagerDelegate

- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status {

    if (status < 3) {

        NSLog(@"未授权");

    }else {

        [_locationManager startUpdatingLocation];

    }

}

4.获取定位

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations {

    NSLog(@"定位成功!");

    [manager stopUpdatingLocation];

    _location = locations.firstObject;

    NSLog(@"%f %f",_location.coordinate.latitude,_location.coordinate.longitude);

}

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{

    NSLog(@"定位失败!");

}

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

推荐阅读更多精彩内容