欢迎光临朱凯的个人博客!
朱凯,a3.work

iOS获取当前经纬度

 发布时间: 2016-12-21 15:40      原创:  朱凯      评论: .       .人查看
// 添加定位服务头文件
#import <CoreLocation/CoreLocation.h>
// 添加代理协议 CLLocationManagerDelegate
@interface ViewController ()<CLLocationManagerDelegate>
// 定位服务管理类
@property (nonatomic,strong) CLLocationManager *locationManager;
// viewDidLoad
if (!self.locationManager) {
	[self initializeLocationService];
}
- (void)initializeLocationService{
    // 初始化定位管理器
    self.locationManager = [[CLLocationManager alloc] init];
    [self.locationManager requestWhenInUseAuthorization];
    // 设置代理
    self.locationManager.delegate = self;
    // 设置定位精确度到米
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    // 设置过滤器为无
    self.locationManager.distanceFilter = kCLDistanceFilterNone;
    // 开始定位
    [self.locationManager startUpdatingLocation];//开始定位之后会不断的执行代理方法更新位置会比较费电所以建议获取完位置即时关闭更新位置服务
}
// ios8之后plist
<key>NSLocationWhenInUseUsageDescription</key>
<string>when</string>
<key>NSLocationAlwaysUsageDescription</key>
<string>always</string>
// 定位代理
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations{
    CLLocation * location = locations.lastObject;
    // 停止多次调用(时间,位置)
    NSTimeInterval locationAge = -[location.timestamp timeIntervalSinceNow];
    if (locationAge > 5.0) return;
    if (location.horizontalAccuracy < 0) return;
//    NSLog(@"经度:%f,纬度:%f,海拔:%f,航向:%f,行走速度:%f", location.coordinate.longitude, location.coordinate.latitude,location.altitude,location.course,location.speed);
//    [manager stopUpdatingLocation];不用的时候关闭更新位置服务
}

转载请注明来源:   iOS获取当前经纬度  - 朱凯博客

分享是一种快乐,也是一种美德:
¥打开支付宝,扫码领红包¥ 红包

支付宝 aliPay

微信 wxPay