iOS CoreLocation的使用

1.引入框架,import头文件

#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 }

 

你可能感兴趣的:(location)