iOS CoreLocation的使用

1.引入框架,import头文件

引入CoreLocation

#import <CoreLocation/CoreLocation.h>

2.添加定位管理器为成员变量(否则无法定位),并用延迟加载的方法实例化它

@property (nonatomic,strong) CLLocationManager *locMgr;
 1 /**
 2  *  懒加载
 3  */
 4 - (CLLocationManager *)locMgr
 5 {
 6     if (_locMgr == nil) {
 7         _locMgr = [[CLLocationManager alloc]init];
 8         self.locMgr.delegate = self;
 9     }
10     return _locMgr;
11 }

3.开始定位

1 - (void)viewDidLoad
2 {
3     [super viewDidLoad];
4 
5     // 开始定位
6     [self.locMgr startUpdatingLocation];
7     
8 }

4.实现 CLLocationManager的代理方法

 1 #pragma mark - CLLocationManager的代理方法
 2 - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
 3 {
 4     // 取出位置,位置之所以是数组,是因为所在的位置即可是A地点,又可能是B地点,例如北京和河北的边界,一般取位置数组的第一个更为精确
 5     CLLocation *location = [locations firstObject];
 6     
 7     // 取出经纬度
 8     CLLocationCoordinate2D coordinate = location.coordinate;
 9     
10     // 输出
11     NSLog(@"经度是%f , 纬度是%f",coordinate.longitude,coordinate.latitude);
12     
13     // 停止定位,该代理方法调用频率非常高,不需要定位时,请停止定位
14     [self.locMgr stopUpdatingLocation];
15 }
原文地址:https://www.cnblogs.com/oumygade/p/4168077.html