#import "ThreeViewController.h"
//引入定位头文件
#import <CoreLocation/CoreLocation.h>
//遵循定位管理器协议
@interface ThreeViewController ()<CLLocationManagerDelegate>
//声明位置管理器 属性
@property (strong, nonatomic)CLLocationManager *locationManager;
@end
@implementation ThreeViewController
- (void)viewDidLoad {
[super viewDidLoad];
//初始化位置管理器
self.locationManager = [[CLLocationManager alloc] init];
//判断是否打开定位服务
if (![CLLocationManager locationServicesEnabled]) {
NSLog(@"定位服务, 尚未打开, 请打开");
}
//如果没有授权定位服务, 则请求用户授权
if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined) {
/*如果定位服务没有被授权, 则请求用户授权,需要子啊 info.plist 文件中添加如下字段:
NSLocationWhenInUseUsageDescription YES
NSLocationAlwaysUsageDescription YES
如果两个同时添加, 则默认为第一个. 但如果只添加了第二个, 则:
*/
[self.locationManager requestAlwaysAuthorization];
}
//如果被授权
else if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedAlways){
//设置代理
self.locationManager.delegate = self;
//定位精度
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
//kCLLocationAccuracyBest; 最精确
//kCLLocationAccuracyNearestTenMeters; 10米误差
//kCLLocationAccuracyHundredMeters; 百米误差
//kCLLocationAccuracyKilometer; 千米误差
//kCLLocationAccuracyThreeKilometers; 三千米误差
//定位频率(几次/米)
CLLocationDistance distance = 10.0;//每隔十米定位一次
self.locationManager.distanceFilter = distance;
//启动定位服务
[self.locationManager startUpdatingLocation];
}
}
@end```
Senior_定位管理器
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...