iOS8 地图定位使用坑(上)

ps:这是个人学习笔记,如果路过的大神可指教几句,茂茂不胜感激!

如果就地图定位而言,只需要设置三个步骤:(当然导入CLLocation框架头文件那是必须的):

1.创建CLLocationManager对象

2.成为CLLocationManager的代理

3.开始监听即可

——————以上对iOS8之前的系统有效—————

对于最新的iOS8及以后,Apple加强了隐私访问权限的控制,必须调用新的方法来获取用户的允许:

1.调用 [self.manager requestAlwaysAuthorization]; 申请用户授权

2.需要在info.plist文件中增加:

 NSLocationWhenInUseUsageDescription  BOOL YES                  NSLocationAlwaysUsageDescription        string “提示描述”

ps:“提示描述”会出现在请求用户授权时候的界面上

通过以上设置之后,就可以正常使用地图定位了,可以在代理方法:(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray*)locations得到最新的位置信息

=====================主要代码=======================

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)

{

[self.manager requestAlwaysAuthorization];  //调用了这句,就会弹出允许框了.

}

self.manager.delegate = self;

//设置多久获取一次位置信息,如果不设置,默认一直获取信息,这一点非常重要,会默认一直获取地理位置信息,耗电会非常快

self.manager.distanceFilter = 100; //控制更新位置频率,单位“米”

/**

*

kCLLocationAccuracyBestForNavigation//最佳导航

kCLLocationAccuracyBest;//最精准

kCLLocationAccuracyNearestTenMeters //十米

kCLLocationAccuracyHundredMeters; //百米

kCLLocationAccuracyKilometer; //千米

kCLLocationAccuracyThreeKilometers;  //3公里

*/

//控制定位精度越高 耗电量越大。

self.manager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters;

[self.manager startUpdatingLocation];

你可能感兴趣的:(iOS8 地图定位使用坑(上))