探索iOS设备的位置与运动信息
1. 核心位置(Core Location)基础
核心位置功能可提供用户相对于磁北或真北的朝向信息,但该信息仅在包含磁力计(充当数字罗盘)的设备上可用。目前在售的iOS设备都配备了磁力计,但iPhone 3GS、第三代iPod touch和iPad 2之前的设备除外。
要使用核心位置功能,需按以下步骤操作:
1. 创建CLLocationManager委托对象并进行配置。
2. 发送startUpdatingLocation消息开始更新用户位置。
3. 当不再需要用户位置信息时,发送stopUpdatingLocation消息停止更新。
由于定位技术既耗费CPU资源又可能需要使用耗电的硬件,所以使用完毕后应关闭CLLocationManager,以节省用户设备电量。
CLLocationManager需要一个遵循CLLocationManagerDelegate协议的对象作为委托。该协议的关键方法是-locationManager:didUpdateToLocation:fromLocation:,定位管理器会定期调用此方法,传递用户当前位置和之前位置的CLLocation对象,这些对象包含纬度、经度、海拔、速度和精度等信息。
若核心位置功能无法获取用户位置,例如GPS不可用且找不到WiFi基站或蜂窝塔时,