地图定位IOS8.0之前的定位

在ios8.0之前定位的步骤如下:

1.首先将我们的项目版本切换到7.0

2.在ViewController.m文件中导入头文件

#import <CoreLocation/CoreLocation.h>

3.创建位置管理者 使用懒加载的方式 并设置代理,遵守协议 因为位置管理者对象不是单例 所以为了保证不让它一创建出来就销毁 所以我们需要定义为成员属性

4.实现一个小功能  当用户点击控制器的view的时候 我们开始定位用户的位置 所以在ViewController.m中实现以下方法

5.当定位到用户位置之后 位置管理者会通知他的代理 ,所以我们需要实现以下代理方法  在这个方法里面做一些相关的业务处理

此时我们将模拟器选中到5s

然后运行程序,会出现如下界面:

然后我们点击屏幕 出现以下界面:

你可能看到其他的app安装的时候 都会弹出这个界面 ,这是因为从ios6开始 苹果为了保护用户隐私 凡是涉及到用户隐私相关的操作 都需要用户允许才行。

但是你会发现 这个提示信息是英文的 ,但是其他的app弹出是 都是用的我们天朝人都能看得懂的非常友好的中文提示,那么这个我们怎么修改呢?

其实很简单 我们只需要在info.plist文件中添加如下字段 即可:

Privacy - Location Usage Description

比如我填写了如下信息:

这个时候我们运行程序 你会发现提示信息已经变成我们修改的内容了:

我们点击 OK

这个时候你会看到控制台会一直打印 信息:

到这里位置 我们就能成功的实现用户的位置定位,但是还有个问题就是 如果我们将应用退到后台的时候  就无法定位用户位置 ,这个问题怎么解决呢?

其实解决方法很简单 只需要按照我下图的演示设置下就可以了:

第一步:

第二步:

第三步:

经过上面设置之后 试试 将应用退到后台  ,依然可以定位到用户的位置的

好了,就先讲到这里了!

时间: 2024-08-27 13:42:29

地图定位IOS8.0之前的定位的相关文章

在iOS8下使用CLLocationManager定位服务需要系统授权

最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下的定位服务需要申请授权了. 具体代码如下: 1 if ([CLLocationManager locationServicesEnabled]) { 2 3 self.locationManager = [[CLLocationManager alloc] init]; 4 5 _locationM

IOS地图定位——IOS8(待更新)

在iOS开发中,使用定位,必须基于2个框架进行开发 (1)Map Kit :用于地图展示 (2)Core Location :用于地理定位 两个热门专业术语 (1)LBS :Location Based Service(基于定位的服务)百度,(高德是定位与导行比较出色) (2)SoLoMo :Social Local Mobile(索罗门)基于位置进行社交 CoreLocation框架的使用 1. 使用前提: 1>导入框架: 2>导入主头文件 #import <CoreLocation/

iOS开发系列--地图与定位-ios8

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

Android 百度地图 SDK v3.0.0 (二) 定位与结合方向传感器

在上一篇博客中,我们成功把地图导入了我们的项目.本篇我们准备为地图添加:第一,定位功能:第二,与方向传感器结合,通过旋转手机进行道路的方向确认.有了这两个功能,地图已经可以为我服务了~~~~ 效果图: 好了,可以代码,为了方便,我把所有的按钮都放到了menu菜单中. 1.初次启动定位 [java] view plaincopy /** * 定位的客户端 */ private LocationClient mLocationClient; /** * 定位的监听器 */ public MyLoca

适配ios8.0/7.0定位

现象 假如你用做ios8之前的定位去在ios8.0的机子上跑的话,你会发现 诶?怎么定位功能不能用了,右上角那个定位的小图标不出来.这时你应该去了设置里面看看隐私--定位,看到没有开启,然后改成始终,然后程序重新跑过,然后你又发现还是不能用...于是你又去设置那里看看,靠 发现改成的始终怎么给取消了..(其实这就是我..) 原因 在以前的IOS版本中当开始使用定位服务时会自动弹出询问授权的对话框,而现在IOS8需要手动调用locationManager requestAlwaysAuthori

地图定位IOS8之后的定位

从ios8开始,苹果进一步加强了对用户隐私的保护. 当app想要访问用户的隐私信息时  系统不再自动弹出一个对话框让用户授权 解决方法: (1)调用ios8.0的API 主动请求用户授权 - (void)requestAlwaysAuthorization //请求允许在前后台都能获取用户位置的特权 - (void)requestWhenInUseAuthorization //请求允许在前台获取用户位置的特权 那么现在我们开始使用着两个方法: 我们本此奖的项目 使我们上一次ios8之前的定位那

Android百度地图结合方向传感器我们自己定位哪里走

Android百度地图结合方向传感器我们自己定位哪里走 本文代码在http://blog.csdn.net/xyzz609/article/details/51943556的基础上进一步修改,有兴趣的同学可以研究下怎么修改的 本篇我们准备为地图添加:第一,定位功能:第二,与方向传感器结合,通过旋转手机进行道路的方向确认.有了这两个功能,地图已经可以为我服务了 @一启动就自动定位了 a,MainActivity 中添加定位代码,定位的监听器MyLocationListener b,封装的方向传感器

iOS CLLocationManager定位,IOS8注意

今天下午动手用了IOS自带的定位,结果在网上看了很多教程,也将示例代码直接运行,但就是一直无法获取位置,代码如下: 首先导入CoreLocation.framework,然后再引入头文件#import  定义属性 ? 1 @property (nonatomic , strong)CLLocationManager *locationManager; 然后使用代理 CLLocationManagerDelegate - (void)locate{ // 判断定位操作是否被允许 if([CLLoc

百度地图总结第三篇之定位(我的位置)

前言: 使用百度定位SDK获取对应的位置信息,然后利用地图SDK中的接口.您能够在地 在这里提示一下,假设是在一个project中同一时候使用定位的SDK和百度地图SDK.能够共同使用一个key.假设新创建project,那么就要去又一次申请key了.申请方式一样.如有疑问能够看看百度地图总结第一篇–环境集成和Hello Baidu_Map实现 集成定位SDK: 然后我们看下集成文档,下载对应的定位SDK,解压出来,我们把须要的jar包加入到libs文件夹下(BaiduLBS_Android.j