CoreLocation是iOS中一個提供設備定位的框架。經過這個框架能夠實現定位處理,從而獲取位置數據,好比經度、緯度、海拔信息等。html
1,定位精度的設置git
定位服務管理類CLLocationManager的desiredAccuracy屬性表示精準度,有以下6種選擇:框架
kCLLocationAccuracyBestForNavigation :精度最高,通常用於導航
kCLLocationAccuracyBest : 精確度最佳
kCLLocationAccuracyNearestTenMeters :精確度10m之內
kCLLocationAccuracyHundredMeters :精確度100m之內
kCLLocationAccuracyKilometer :精確度1000m之內
kCLLocationAccuracyThreeKilometers :精確度3000m之內ide
2,位置管理器更新頻率的設置spa
咱們沒法直接控制位置管理器更新的頻率,但可以使用位置管理器的distanceFilter屬性(單位米)進行間接控制。代理
它指設備(水平或垂直)移動多少米後纔將另外一個更新發送給委託。定位要求的精度越高,distanceFilter屬性的值越小,應用程序的耗電量就越大。rest
3,計算兩個座標間的距離code
經過CCLocation對象的distanceTo方法,能夠獲得兩個座標間的距離,單位是米。htm
1對象 2 3 4 |
|
4,下面經過一個樣例演示如何獲取設備相關的位置數據(經度,緯度,海拔,速度等信息)
(1)在 info.plist里加入定位描述(Value值爲空也能夠):
NSLocationWhenInUseDescription :容許在前臺獲取GPS的描述
NSLocationAlwaysUsageDescription :容許在後臺獲取GPS的描述
(2)代碼以下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
原文出自:www.hangge.com 轉載請保留原文連接:http://www.hangge.com/blog/cache/detail_783.html