iPhone的定位技术与Core Location框架
来源:http://www.cnblogs.com/lovecode/archive/2011/12/24/2300579.html
iPhone定位来源通常有:
1. GPS定位
2. WiFi定位
3. 蜂窝基站定位
iPhone分阶段处理定位问题,它根据请求的精确度使用不同的方法。
如何利用Core Location服务实现精确定位iPhone用户的位置:
- 首先将Core Location框架添加到项目中。另确保在代码中#import <CoreLocation/CoreLocation.h>头文件。
- 分配一个定位管理器。将此管理器的委托(delegate)设置为主视图控制器或应用程序委托。另外,还可设置此管理器所需的distance filter和准确性。
distance filter以米为单位设置最小距离。使得设备必须移动至少这些距离才可以注册新更新。
accuracy属性设置所需的精度。 - 通过测试定位管理器的locationServicesEnabled属性来检查用户是否已启用Core Location。而iOS4.0开始使用类方法locationServicesEnabled来检测。
- 开始定位。告诉定位管理器开始更新位置。找到位置时,系统回调会通知你。
- 处理定位事件委托回调。要处理两种类型的回调:locationManager:didUpdateToLocation:fromLocation:和locationManager:didFailWithError: 将这些委托方法添加到代码中来捕获位置更新。
- 等待。随着位置数据逐步可用,回调会异步到达。
位置属性
更新的位置回调返回的每个CLLocation实例都包含一组属性,这些属性描述设备移动时的位置。
- altitude 海拔值,单位m(米)
- coordinate 地理位置(即纬度latitude、经度longitude)
- course 以角度值表示设备行进方向(0度朝北、90度朝东、180度朝南、270度朝西)
注意:要获得更高的精确度,应使用heading(CLHeading实例)而不是course。heading通过磁力计获取磁性和真正的北向。 - horizontalAccuracy
- verticalAccuracy
- speed 设备的速率,单位是m/s。最适用于车载速率而非行走速率。
- timestamp 进行位置测量时的时间。
iPhone的定位技术与Core Location框架的更多相关文章
- iOS8后core location框架启动定位服务的步骤
1.在使用CoreLocation前需要调用如下函数[iOS 8专用]: iOS 8对定位进行了一些修改,其中包括定位授权的方法,CLLocationManager增加了下面的两个方法: (1)始终允 ...
- Core Location Framework学习
在Apple开发中,尤其是移动设备开发,经常会使用Core Location Framework,这个框架可以使得iOS设备获取当前的地理位置.本文就具体到Core Location 框架中,查看其声 ...
- Core Location和MapKit的一些简单使用
Core Location 1. 基本对象是CLLocation,有属性coordinate, altitude, horizontal/vertical Accuracy, timestamp, ...
- iOS 苹果自带地图定位Core Location
Core Location是iOS SDK中一个提供设备位置的框架.可以使用三种技术来获取位置:GPS.蜂窝或WiFi.在这些技术中,GPS最为精准,如果有GPS硬件,Core Location将优先 ...
- Core Location :⽤用于地理定位
Core Location :⽤用于地理定位 在移动互联⽹网时代,移动app能解决⽤用户的很多⽣生活琐事,⽐比如 导航:去任意陌⽣生的地⽅方 周边:找餐馆.找酒店.找银⾏行.找电影院 在上述应⽤用中, ...
- 关于Core Location-ios定位
IOS中的core location提供了定位功能,能定位装置的当前坐标,同一时候能得到装置移动信息.由于对定位装置的轮询是非常耗电的,所以最好仅仅在非常必要的前提下启动. 当中,最重要的类是CLLo ...
- CoreLocation定位技术
CoreLocation框架可用于定位设备当前经纬度,通过该框架,应用程序可通过附近的蜂窝基站,WIFI信号或者GPS等信息计算用户位置. iOS定位支持的3种模式. (1)GPS ...
- iOS开发-Core Location和Map Kit
一.Core Location确定物理位置 利用以下3种技术: 1.GPS(最精确的) 2.蜂窝基站ID定位(cell ID Location) 3.WPS(Wi-Fi Positioning Ser ...
- 位置指纹(LF)定位技术简介-室内定位
信号的多径传播对环境具有依赖性,呈现出非常强的特殊性.对于每个位置而言,该位置上信道的多径结构是惟一的,终端发射的无线电渡经过反射和折射,产生与周围环境密切相关的特定模式的多径信号,这样的多径 ...
随机推荐
- CentOS6.4-RMAN定时任务备份 on 11GR2
1.rman备份脚本位置: /home/oracle ./scripts/ ./bin -----存放rman脚本 ./log ...
- MySQL 5.1.73升级为MySQL 5.5.35详解
一.前言 二.概述 三.安装MySQL 5.1.73 四.升级为MySQL 5.5.35 五.总结 注,测试环境 CentOS 6.4 x86_64,MySQL 版本(5.1.73.5.5.35)目前 ...
- Unity3D研究院编辑器之脚本获取资源内存和硬盘大小
内存 使用Profiler可以查看某个资源的内存占用情况,但是必须启动游戏,并且待查看的资源已经载入游戏中.我希望的是不启动游戏,也能看到它的内存好做统计. 硬盘 由于unity中的资源压缩格式记录在 ...
- PHP使用Mysql事务
<?php //数据库连接 $conn = mysql_connect('localhost', 'root', ''); mysql_select_db('test', $conn); mys ...
- 怎么在OCR文字识别软件中安装和启动 OCR文字识别软件 Hot Folder
默认情况下,ABBYY Hot Folder 会与 ABBYY FineReader 12 一起安装到计算机中.(关于ABBYY FineReader 12请参考ABBYY FineReader 12 ...
- Nuget 摘录
1 , Creating and Publishing a Package https://docs.nuget.org/create/creating-and-publishing-a-pa ...
- 运行Appium碰到的坑们
运行Appium的时候,碰到的那些坑 1. java命令会出现error:could not open ...jvm.cfg 出现这种情况大多是因为电脑上之前安装过JDK,卸载重装之后,运行java命 ...
- JAVA除法保留小数点后两位的两种方法 Java Math的 floor,round和ceil的总结
floor 返回不大于的最大整数 round 则是4舍5入的计算,入的时候是到大于它的整数round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下 ...
- es6新特性
变量-------------------------- let, const:必须直接给一个变量赋值.注意,对象的属性或数组成员还是可以改变的. const MY_OBJECT = {some: 1 ...
- dubbo Linux 解决:nc: command not found
出现该情况有两种可能: (1)没有配置nc命令的环境变量: (2)该系统没有安装nc命令: 我查看了一下在/usr/bin目录中并没有nc命令,所以我可以认为出现该情况的原因是第二种情况 下载安装 下 ...