iOS8中使用CoreLocation定位

iOS8以前使用CoreLocation定位

1、首先定义一个全局的变量用来记录CLLocationManager对象,引入CoreLocation.framework使用#import@property (nonatomic, strong) CLLocationManager *locationManager;

2、初始化CLLocationManager并开始定位

self.locationManager = [[CLLocationManager alloc]init];

_locationManager.delegate = self;

_locationManager.desiredAccuracy = kCLLocationAccuracyBest;

_locationManager.distanceFilter = 10;

[_locationManager startUpdatingLocation];

3、实现CLLocationManagerDelegate的代理方法

(1)获取到位置数据,返回的是一个CLLocation的数组,一般使用其中的一个

- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations

{

CLLocation *currLocation = [locations lastObject];

NSLog(@"经度=%f 纬度=%f 高度=%f", currLocation.coordinate.latitude, currLocation.coordinate.longitude, currLocation.altitude);

}

(2)获取用户位置数据失败的回调方法,在此通知用户

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

{

if ([error code] == kCLErrorDenied)

{

//访问被拒绝

}

if ([error code] == kCLErrorLocationUnknown) {

//无法获取位置信息

}

}

4、在viewWillDisappear关闭定位

- (void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[_locationManager stopUpdatingLocation];

}

iOS8中使用CoreLocation定位

1、在使用CoreLocation前需要调用如下函数【iOS8专用】:

iOS8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法:

(1)始终允许访问位置信息

- (void)requestAlwaysAuthorization;

(2)使用应用程序期间允许访问位置数据

- (void)requestWhenInUseAuthorization;

示例如下:

self.locationManager = [[CLLocationManager alloc]init];

_locationManager.delegate = self;

_locationManager.desiredAccuracy = kCLLocationAccuracyBest;

_locationManager.distanceFilter = 10;

[_locationManager requestAlwaysAuthorization];//添加这句

[_locationManager startUpdatingLocation];

2、在Info.plist文件中添加如下配置:

(1)NSLocationAlwaysUsageDescription

(2)NSLocationWhenInUseUsageDescription

这两个键的值就是授权alert的描述,示例配置如下[勾选Show Raw Keys/Values后进行添加]:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 出自http://my.oschina.net/are1OfBlog/blog/420034 摘要 现在很多社交、...
    JJO阅读 4,199评论 4 19
  • 简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 周边:找餐馆、找KTV、找电影院等等 导航:根据...
    JonesCxy阅读 1,303评论 1 1
  • 一、定位介绍 现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的...
    LHsunshine阅读 357评论 0 0
  • 还有九天你就回来了,大概这是第一次离别,我也不会主动联系你。也许是我傲娇,想证明自己可以遵循自己的意志生活,其实这...
    偏见小姐阅读 242评论 0 1