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)定位技术简介-室内定位
信号的多径传播对环境具有依赖性,呈现出非常强的特殊性.对于每个位置而言,该位置上信道的多径结构是惟一的,终端发射的无线电渡经过反射和折射,产生与周围环境密切相关的特定模式的多径信号,这样的多径 ...
随机推荐
- weblogic管理1——创建 和 删除一个domain
说明本文环境 WLS_HOME=/home/weblogic/Oracle/Middleware创建一个domian 第一种方法通过console 创建>[weblogic@11g Mid ...
- 在CentOS上安装Python
首先我们需要在服务器上安装一个比较新的 Python,CentOS 5.8 默认装的 Python 是 2.4.3. [root@nowamagic ~]# python -V Python 我们需要 ...
- PHP实现动态规划背包问题
有一堆货物,有各种大小和价值不等的多个物品,而你只有固定大小的背包,拿走哪些能保证你的背包带走的价值最多 动态规划就是可以记录前一次递归过程中计算出的最大值,在之后的递归期间使用,以免重复计算. &l ...
- PHP使用session_set_save_handler陷阱
陷阱如下 当脚本使用了session_set_save_handler 来重定向 session后,使用session_destroy后再使用session_start()重新开启session会报错 ...
- fastBinaryJSON
fastBinaryJSON 是基于 fastJSON 的二进制 JSON 序列化器.详细介绍请看这里. 数据编码格式: 序列化速度比较:
- sqlserver修改某列为行号
UPDATE t_users SET t_users.id=u.num1 FROM t_users INNER JOIN (SELECT row_number() over(order by id) ...
- memcached windowns 安装使用
到csdn下载安装包吧,要不找我要,1033536868 安装: memcached -d install memcached -d start net start "Memcached S ...
- Math.Round函數
Math.Round這個函數的解釋是將值按指定的小數位數舍入,但並不就是四捨五入.這種舍入有時稱為就近舍入或四舍六入五成雙 其實在 VB, VBScript, C#, J#, T-SQL 中 Roun ...
- 04文件与IO
文件系统调用: open.close.create.read.write open: int open(const char* path, int flags) path:要打开的文件的路径 flag ...
- 【linux】man和--help
man和--help都是获取命令帮助的指令. man 格式: man [命令] [root@andon tmp]# man pwd --help 命令 --help [root@andon tmp]# ...