iOS6 定位服务编程详解
现在的移动设备很多都提供定位服务,使用
iOS 系统的 iPhone、iPod Touch 和 iPad 都可以提
供位置服务,
iOS 设备能提供 3 种不同途径进行定位:Wifi, 蜂窝式移动电话基站, GPS 卫星
iOS 不像 Android 系统在定位服务编程时,可以指定采用哪种途径进行定位。iOS 的 API 把
底层这些细节屏蔽掉了,开发人员和用户并不知道现在设备是采用
哪种方式进行定位的,
iOS 系统会根据设备的情况和周围的环境,采用一套最佳的解决方案。这个方案是这样的,
如果能够接收
GPS 信息,那么设备优先采用 GPS 定位,否则采用 Wifi 或蜂窝基站定位,
在
Wifi 和蜂窝基站之间优先使用 Wifi,如果无法连接 Wifi 才使用蜂窝基站定位。
总体来说
GPS 定位优点是准确、覆盖面广阔,缺点是不能被遮挡(例如:在建筑物里面收
不到
GPS 卫星信号)、GPS 开启后比较费电。蜂窝基站不仅误差比较大,而且会耗费用户流
量费。而
Wifi 定位是最经济实惠的。
定位服务编程
定
位服务在 iOS 6 之后 API 没有太大的变化,主要使用 CoreLocation 框架,定位时候主要
使用
CLLocationManager、 CLLocationManagerDelegate 和 CLLocation。CLLocationManager
是定位服务管理类它能够给我们提供获得
设备的位置信息和高度信息,也可以监控设备进
入或离开某个区域,它还可以帮助获得设备的运行方向等。
CLLocationManagerDelegate 是
CLLocationManager 类委托协议。CLLocation 类是封装了位置和高度信息。
在定位服务的应用中,第一次请求获得位置信息时候,系统会提示用户是否允许开启定位
服务。用户所在的位置是比较私密的信息,应用获取这些信息用户是有知情权和否定权的。
如果应用在用户不知情的情况下,而获得用户的位置信息,这在某些国家是违法的行为。
选择
“不允许”,定位服务就无法获得位置信息了,如果想改变这些设置可以在系统设置应
用中开启或关闭。
找软件资料,就到一览软件文库