iOS 8 定位

1.首先导入CoreLocation框架 设置代理

CLLocationManagerDelegate

2.

- (void)initLocationManager

{

BOOL isEnable = [CLLocationManager locationServicesEnabled];

CGFloat verson = [[UIDevice currentDevice].systemVersion doubleValue];//float

if(isEnable) {

if(!_loactionManager){

_loactionManager = [[CLLocationManager alloc] init];

[_loactionManager setDelegate:self];

_loactionManager.desiredAccuracy = kCLLocationAccuracyBest;

_loactionManager.distanceFilter = 20.0;//每隔10米定位一次

if(verson > 8.0f){

[_loactionManager requestAlwaysAuthorization];

}

[_loactionManager startUpdatingLocation];

}

}

else {

Alert(@"温馨提示", @"当前设备定位功能未开启!,建议您到手机系统的[设置]->[隐私]->[定位服务]中打开定位服务,并允许“XXXX社区”使用定位服务" );

return;

}

}

3.要在pist文件中添加两个key值

NSLocationAlwaysUsageDescription   NSLocationWhenInUseUsageDescription 这两个key值添加在这个目录下 Application requires iPhone environment

4.设置代理方法

#pragma mark 代理方法

- (void)locationManager:(CLLocationManager *)manager

didUpdateLocations:(NSArray *)locations

{

CLLocation *currentLocation = [locations lastObject];

MJLog(@"currentLocation == %@",currentLocation);

// 创建位置

CLGeocoder *revGeo = [[CLGeocoder alloc] init];

[revGeo reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error) {

// 地理位置反编

if (!error && [placemarks count] > 0) {

NSDictionary *dict = [[placemarks objectAtIndex:0] addressDictionary];

_currentPosition = [dict objectForKey:@"City"];

MJLog(@"City address: %@",_currentPosition); }

else  {

Alert(@"温馨提示", @"获取位置失败");

MJLog(@"ERROR: %@", error); }

}];

}

- (void)locationManager:(CLLocationManager *)manager

didFailWithError:(NSError *)error

{

MJLog(@"error :%@",[error localizedDescription]);

}

时间: 2024-12-14 02:38:26

iOS 8 定位的相关文章

iOS后台定位

iOS地理定位 app正常运行时可以,按下home键后app在后台也可以,双击home键后台杀死app也可以,甚至重启机器后也可以.(iOS 10 测试代码) 1)设置一些请求参数 就像正常的CLLocationManager一样申请权限以及后台更新请求 后台更新: plist请求地理位置(需要跑始终使用) 2)与往常一样的初始化定位管理器等步骤 CLLocationManager *locationMgr = [[CLLocationManager alloc]init]; [location

iOS 后台定位被拒注意事项

iOS 后台定位被拒的原因很简单就是没有达到苹果对后台定位的要求. 本地要求: 1.在plist文件中添加字段 "Privacy - Location Always Usage Description" ,值就填写在你的运用程序中使用后台定位的地方.如"高德地图会在搜索和导航服务中使用你的位置信息." 2.在plist文件中添加字段 "Required background modes" 数组类型添加一个值item 值的话就填 "App

iOS后台定位实现

iOS后台定位实现 (2013-01-24 16:43:12) 工作中碰到一个定位的应用场景:app需要在后台运行,实时上传用户地理位置. 苹果对iOS的规范性在提升了app的品质的同时也带来了对开发者的限制.翻阅了各种官方文档和资料,得出结论如下: 1.实现后台定位有2种方式: standard location service(调用CLLocationManager的startUpdatingLocation) significant-change location service(调用CL

IOS 开启定位功能 CLLocationManager 介绍-简单使用

iOS 中的定位功能,主要在 CoreLocation库中,需要用到位置管理器 CLLocationManager 来完成绝大多数事情. 要使用 CLLocationManager 首先需要一个对象~ 以及对它进行简单的设置,最后开启定位功能, 就开始定位了,定位成功或者失败后都会调用代理方法返回信息 1 CLLocationManager *manger; 2 3 manger = [[CLLocationManager alloc] init]; //初始化 4 5 manger.deleg

iOS地图定位(Map)

1.地图的简介 在移动互联网时代,移动app能解决用户的很多生活琐事,比如    导航:去任意陌生的地方    周边:找餐馆.找酒店.找银行.找电影院    手机软件:微信摇一摇.QQ附近的人.微博.支付宝等 在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这两大功能,必须基于两个框架进行开发    Map Kit :用于地图展示    Core Location :用于地理定位 地图定位(CoreLocation框架,地理编码与反地理编码)地图显示(MapKit框架)自定义大头针

iOS开发 定位服务与地图

概览 现在很多社交.电商.团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的.的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式.例如你到了一个陌生的地方想要查找附近的酒店.超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品.总之,目前地图和定位功能已经大量引入到应用开发中.今天就和大家一起看一下iOS如何进行地图和定位开发. 定位 地图 定位 要实现地图.导航功能,往往需要先熟悉定位功能,在iO

简易的IOS位置定位服务

有时一些小的需求.事实上仅仅是须要得知当前IOS APP使用的地点.有些仅仅是想精确到城市级别,并不须要不论什么地图. 有了下面的简易实现: @interface MainViewController ()<CLLocationManagerDelegate> .... @end @implementation MainViewController - (void)InitLocation { //初始化定位服务管理对象 self.locationManager = [[CLLocationM

IOS LocationManager定位国内偏移,火星坐标(GCJ-02)解决方法

IOS7 WGS-84转GCJ-02(火星坐标) CLLocationManager类可以实时的获得我们位置的经纬度,并且可以通过经纬度在MapView上定位: [objc] view plaincopyprint? //创建CLLocationManager对象 CLLocationManager *locationManager = [[CLLocationManager alloc] init]; //设置委托对象为自己 [locationManager setDelegate:self]

iOS INVALID_USER_SCODE 定位 用户安全码未通过

iOS 高德地图API不能定位及INVALID_USER_SCODE问题,有需要的朋友可以参考下. 一.在使用高德地图的API的时候,没有办法实现定位,在这里说一下在真机测试的时候出现没法定位应该注意的几点问题和解决方法. 1.将mapView添加到self.view上,[self.view addSubView:self.mapView]; 2.在plist文件中添加一个属性NSLocationAlwaysUsageDescription. 3.设置mapView的一个属性,self.mapV

总结关于iOS室内定位开发踩过的一些坑。。。

直接正题,没得BB 首先说明一下室内定位从架构上严格来讲分为3步: 1.室内地图以及室内地图能相关的一些成熟API 2.以任意方式来获取室内定位的坐标 3.将室内定位的坐标转化成室内地图的API或者一种能兼容两者的转换方式 (可选)4.定位稳定性的滤波处理,试定位坐标点不出现 跳点.卡顿.掉帧.北偏角指向性错误等影响用户体验的处理方案 目前市场中室内定位资源比较散乱,主要分为地图供应商和定位服务商两种,也有将室内定位资源合并的企业,比如 某石科技 所以要是想对室内定位有研究的最好还是需要多方了解