今天做的项目,要求后台获取用户的地理位置
今天总结一下:
/*
定位小结:
1.导入定位框架<CoreLocation/CoreLocation.h>
2.创建位置管理器 CLLocationManager *manager = [[CLLocationManager alloc]init];
3.设置定位管理器的属性
1) 设置代理
2)设置精度 desiredAccuracy
3)设置距离筛选器 distanceFilter
4.设置授权模式(可选的) request.......
5.启动位置管理器 startUpdatingLocation
6.实现CLLocationManagerDelegate协议中的方法
*/
记得修改info.plist 添加下面个属性
直接上代码
#import "HYQRootViewController.h"
#import <CoreLocation/CoreLocation.h> //导入定位框架
@interface HYQRootViewController()
//管理定位系统
@property (nonatomic, strong) CLLocationManager *manager;
@end
.m 里面实现
#pragma mark -- 定位权限的获取 --
//重写getter方法,实现懒加载
- (CLLocationManager *)manager
{
if (_manager == nil) {
_manager = [[CLLocationManager alloc]init];
}
return _manager;
}
- (void)locationManager {
//设置代理监听
self.manager.delegate = self;
//设置发生多少米之后回调代理
self.manager.distanceFilter = 10;
//设置定位精确度 //后面为double型,单位为米
self.manager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
if([[UIDevice currentDevice].systemVersion doubleValue] >= 8.0){
//授权模式设置为使用时定位
[self.manager requestWhenInUseAuthorization];
}
}
- (void)viewDidLoad{
[super viewDidLoad];
// 获取用户位置信息权限
[self locationManager];
}