iOS CLLocationManager定位
在iOS8以前的版本中,我们使用CLLocationManager定位是没有问题的,最近在iOS8系统中却无法定位了。。。。这是一大问题啊!
1、首先定义一个全局的变量用来记录CLLocationManager对象,引入CoreLocation.framework使用#import <CoreLocation/CoreLocation.h>
@property (nonatomic, strong) CLLocationManager *locationManager;
2、初始化CLLocationManager并开始定位
locationManager=[[CLLocationManager alloc] init];locationManager.delegate=self;locationManager.desiredAccuracy=kCLLocationAccuracyBest;locationManager.distanceFilter=10; [locationManager startUpdatingLocation];//开启定位
3、实现CLLocationManagerDelegate的代理方法
#pragma mark CLLocationManagerDelegate /** * 获取经纬度 */ -(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{CLLocation *currLocation=[locations lastObject];location.strLatitude=[NSString stringWithFormat:@"%f",currLocation.coordinate.latitude];location.strLongitude=[NSString stringWithFormat:@"%f",currLocation.coordinate.longitude];NSLog(@"la---%f, lo---%f",currLocation.coordinate.latitude,currLocation.coordinate.longitude); } /***定位失败,回调此方法*/ -(void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error{if ([error code]==kCLErrorDenied) {NSLog(@"访问被拒绝");}if ([error code]==kCLErrorLocationUnknown) {NSLog(@"无法获取位置信息");} }
iOS8中使用CoreLocation定位
1、在使用CoreLocation前需要调用如下函数【iOS8专用】: iOS8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允许访问位置信息
- (void)requestAlwaysAuthorization;
(2)使用应用程序期间允许访问位置数据
- (void)requestWhenInUseAuthorization;
示例如下:
locationManager=[[CLLocationManager alloc] init];locationManager.delegate=self;locationManager.desiredAccuracy=kCLLocationAccuracyBest;locationManager.distanceFilter=10;if (iOSVersion>=8) {[locationManager requestWhenInUseAuthorization];//使用程序其间允许访问位置数据(iOS8定位需要)}[locationManager startUpdatingLocation];//开启定位
2、在Info.plist文件中添加如下配置: (1)NSLocationAlwaysUsageDescription (2)NSLocationWhenInUseUsageDescription
这样添加后,定位功能就能正常使用了!
转载于:https://my.oschina.net/ewfii3f/blog/702608
iOS CLLocationManager定位相关推荐
- iOS Swift 使用 CLLocationManager 定位
iOS Swift 使用 CLLocationManager 定位 CLLocationManager 是IOS 系统提供的定位对象,通过该对象可以获取定位信息,包括:经纬度.海拔.方向.速度.通过反 ...
- iOS地图定位(Map)
1.地图的简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆.找酒店.找银行.找电影院 手机软件:微信摇一摇.QQ附近的人. ...
- iOS地图定位小功能(上)
讲到iOS的定位呢,首先先介绍一下定位这东西.iOS系统自带的定位服务可以实现很多需求.比如:获取当前经纬度,获取当前位置信息等等. 一.介绍 1.定位 使用CoreLocation框架 2. ...
- iOS开发——定位 获取经纬度
最近公司提供了一个学习iOS的机会,问我是否愿意学习iOS,还是继续只做android开发.我感觉非常幸运,能有此机会去学习iOS,当即说要学习iOS开发. 学习了几天啦,做了一个小demo实现了获取 ...
- iOS 通过定位启动App
本文介绍iOS定位的三种情况:本文介绍iOS定位的三种情况: iOS前台定位以及不同版本(iOS 7.8.9)之间定位的基本使用和异同点 iOS后台(Background)的持续定位 APP未运行(N ...
- iOS 快速定位约束冲突
iOS 快速定位约束冲突 什么是约束冲突 当你使用 AutoLayout 布局,你添加的约束不满足或者会造成系统布局冲突的时候,控制台就会打印冲突日志. 约束冲突示例 [LayoutConstrain ...
- IOS 固定定位失效的分析与解决办法
1,固定定位失效 首先查看是不是固定定位没有应用上(IOS和Android 都测试一下) 猜想一,父元素使用了 transform 属性 解决方案 // 解决方法: .father{transform ...
- iOS crash 定位方式
文章目录 iOS crash 定位方式 1. symbolicatecrash 定位 2. atos 定位 iOS crash 定位方式 1. symbolicatecrash 定位 在iOS 中系统 ...
- Flutter开发之iOS后台定位开发详解
Flutter开发之iOS后台定位开发详解 需求目的 开发一个功能持续获取用户的位置发送给后端,PC端会根据后端传来的移动端发送的位置信息,来绘制使用者的运动轨迹. 实现需求 是否实现 后台定位 ✅ ...
最新文章
- 关于Android模拟器访问本地地址(转)
- Unity中如何计算带minimap的贴图资源的大小
- 002_SpringIOC
- IIS6下配置fastcgi的php的教程
- mac下androidStudio 运行模拟器出现:
- js 深复制一个对象
- left join 重复数据_Python数据分析整理小节
- Centos npm 安装JDK及配置环境变量
- 百度地图Key的设置方法
- 维基媒体宣布采用 Vue.js 进行前端开发
- 虚拟机下安装MS-DOS
- Android ConnectivityManager详解
- php生产环境性能瓶颈分析,使用XHProf分析PHP性能瓶颈(一)
- 电脑围棋领域的研究概述
- 行业解读 | 什么是人工智能语音技术?一篇文章让你读懂它
- java中的变量是什么
- python摄氏度转华氏度_如何用 python编写华氏摄氏度的相互转换?
- 正则表达式中,如何在任意匹配字符后面加上原字符和特定内容
- GRBL二:串口控制命令及代码解析(转载)
- AForge学习笔记(4):AForge.Genetic