background image

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 类是封装了位置和高度信息。

在定位服务的应用中,第一次请求获得位置信息时候,系统会提示用户是否允许开启定位

服务。用户所在的位置是比较私密的信息,应用获取这些信息用户是有知情权和否定权的。

如果应用在用户不知情的情况下,而获得用户的位置信息,这在某些国家是违法的行为。

选择

“不允许”,定位服务就无法获得位置信息了,如果想改变这些设置可以在系统设置应

用中开启或关闭。

                   找软件资料,就到一览软件文库

http://wk.yl1001.com/rj/