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];

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

推荐阅读更多精彩内容

  • CoreLocation框架 一. iOS8.0之前的定位(✨✨✨✨✨) 前台定位导入CoreLocation框架...
    尼古拉斯赵四爷阅读 1,026评论 0 2
  • 简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 周边:找餐馆、找KTV、找电影院等等 导航:根据...
    JonesCxy阅读 1,280评论 1 1
  • 出自http://my.oschina.net/are1OfBlog/blog/420034 摘要 现在很多社交、...
    JJO阅读 4,192评论 4 19
  • 前两天,简书上有一篇非常火的文章《中秋别回家了,回来还不如不回……》。作者以其亲身经历,列举了原生家庭对她的消极影...
    圆洲绿阅读 935评论 0 5
  • 1、 堂妹作为今年高考的考生,过五关斩六将,最后冲到了近一本分数线的地方。这样的成绩在农村已属不易,那意味着她靠自...
    鹤兰阅读 220评论 0 8