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

//始终允许访问位置信息

(1)NSLocationAlwaysUsageDescription

//使用应用程序期间允许访问位置数据

(2)NSLocationWhenInUseUsageDescription

//创建一个管理者

- (CLLocationManager *)manager

{

if (!_manager) {

_manager = [[CLLocationManager alloc] init];

_manager.delegate = self;

   // 授权使应用在前台后台都能使用定位服务

[_manager requestAlwaysAuthorization];

//        _manager.desiredAccuracy = kCLLocationAccuracyBest;

//        _manager.distanceFilter = 10;

}

return _manager;

}

//然后调用startUpdatingLocation方法

[self.manager startUpdatingLocation];

实现CLLocationManagerDelegate的代理方法

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

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

{

CLLocation *location = [locations firstObject];

NSLog(@"%f %f",location.coordinate.longitude,location.coordinate.latitude);

}

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

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

{    if ([error code] == kCLErrorDenied)

{        //访问被拒绝

}

if ([error code] == kCLErrorLocationUnknown)

{        //无法获取位置信息

}

}

//反地理编码

//先懒加载CLGeocoder对象

- (CLGeocoder *)geoCoder

{

if (!_geoCoder) {

_geoCoder = [[CLGeocoder alloc] init];

}

return _geoCoder;

}

//完成定位后会调用

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

{

    self.location = [locations firstObject];
  //开始反地理编码
[self.geoCoder reverseGeocodeLocation:self.location completionHandler:^(NSArray<CLPlacemark *> * _Nullable placemarks, NSError * _Nullable error) { CLPlacemark *placemark = [placemarks firstObject]; self.placemark = placemark; }]; }

iOS8之后CoreLocation定位的使用的更多相关文章

  1. iOS8中使用CoreLocation定位[转]

    本文转自:http://blog.devzeng.com/blog/ios8-corelocation-framework.html iOS8以前使用CoreLocation定位 1.首先定义一个全局 ...

  2. CoreLocation定位技术

    CoreLocation框架可用于定位设备当前经纬度,通过该框架,应用程序可通过附近的蜂窝基站,WIFI信号或者GPS等信息计算用户位置.      iOS定位支持的3种模式.      (1)GPS ...

  3. iOS - CoreLocation 定位

    前言 NS_CLASS_AVAILABLE(10_6, 2_0) @interface CLLocationManager : NSObject 1.CoreLocation 定位 配置 1.在 iO ...

  4. iOS8中的定位服务

    iOS8中的定位服务 My app that worked fine in iOS 7 doesn't work with the iOS 8 SDK. CLLocationManager doesn ...

  5. 地图定位IOS8之后的定位

    从ios8开始,苹果进一步加强了对用户隐私的保护. 当app想要访问用户的隐私信息时  系统不再自动弹出一个对话框让用户授权 解决方法: (1)调用ios8.0的API 主动请求用户授权 - (voi ...

  6. iOS开发拓展篇—CoreLocation定位服务

    iOS开发拓展篇—CoreLocation定位服务 一.简单说明 1.CLLocationManager CLLocationManager的常用操作和属性 开始用户定位- (void)startUp ...

  7. Ios8之后, 定位的delegate不能触发的问题

    if([CLLocationManager locationServicesEnabled]){ self.locationManage = [[[CLLocationManager alloc] i ...

  8. iOS-----使用CoreLocation定位

    使用CoreLocation定位 CoreLocation框架 (CoreLocation.framework)可用于定位设备当前经纬度, 通过该框架, 应用程序可通过附近的蜂窝基站\WIFI信号 或 ...

  9. ios8 - CoreLocation定位服务的变化

    在iOS8开发中,发现一个CoreLocation的使用问题,执行操作之后,不会调用到定位之后的delegate方法中. 根据文档,需要在使用CoreLocation前调用方法: [locationm ...

随机推荐

  1. SRM 390(1-250pt)

    DIV1 250pt 题意:给定整数n和k,问最少需要多少个n连接在一起形成的新整数t,使得t是k的倍数.如果不能形成倍数,输出-1.k <= 10^5,n <= 10^9. 解法:不断增 ...

  2. selenium grid java 资料

    Grid TestNG: 使用Selenium Grid改进Web应用程序的测试: http://www.ithov.com/server/117464.shtml

  3. Eclipse : 找不到或无法加载主类

    问题: 找不到或无法加载主类 解决思路: Step1: 去网上百度了下,基本上都说是环境变量的问题. 原因:环境变量设置有问题. 解决方法:重设环境变量 结果:当然问题没解决. Step2:再次百度, ...

  4. UIView和CALayer有什么关系

    view是对layer的一种封装,你对view的很多操作事实上是对layer的操作,之所以会出现这两个东西是因为1.view支持很多手势的交互,你所操作iphone的各种点击,拖动等等.2.layer ...

  5. drp用户管理完成后,asp.net与java的一个简单比较

    DRP视频断断续续看了有一个月的时间了,跟着视频进行,从需求到设计,到现在的编码实现,跟之前用asp.net做系统步调一致,都遵守软件设计的规范,一步步来进行.尤其是编码实现,越来越感觉java与as ...

  6. 解码美国传奇网络券商:TradeStation

    证券时报记者 桂衍民 张欣然 5万客户,交易量却占美国网络券商8%,网络影响力已连续两年被评为全美前五名,说起美国网络证券,必提TradeStation. TradeStation的确是美国证券界的一 ...

  7. web —— jsp笔记

    cookies 的使用 1.首先确保客户机上允许使用cookie,一般在浏览器的 隐私 设置项里可以设置. 2.下面给出具体的例子 a)index.jsp中如果没注册过,让游客注册,如果注册了,拿出贮 ...

  8. AS 7 Internal Architecture Overview--reference

    High Level Overview At a coarse level, AS 7 consists of two main elements: A core manageable service ...

  9. Activity的任务栈Task以及启动模式与Intent的Flag详解

    什么是任务栈(Task) 官方文档是这么解释的 任务是指在执行特定作业时与用户交互的一系列 Activity. 这些 Activity 按照各自的打开顺序排列在堆栈(即“返回栈”)中. 其实就是以栈的 ...

  10. jquery获取元素到页面顶部距离

    jquery获取元素到页面顶部距离的语句为: $(selector).offset().top