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 進行位置測量時的時間。
本文轉自夏雪冬日部落格園部落格,原文連結:http://www.cnblogs.com/heyonggang/p/3494618.html,如需轉載請自行聯系原作者