2009-08-28 128 views

回答

26

返回從接收器座標到指定位置座標的距離(以米爲單位)。

// Deprecated in iOS 3.2 method 
- (CLLocationDistance)getDistanceFrom:(const CLLocation *)location 

// Correct method 
- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location 

CLLocation

+0

由於烏鴉的蒼蠅? – Spanky 2009-10-30 19:50:46

+1

如果不定義路徑,獲取其他距離將會產生問題。如果你定義了一條路徑,你需要的是路徑長度,而不是兩點之間的距離。 – 2009-10-31 00:47:21

+1

CLLocation鏈接:http://developer.apple.com/library/mac/#documentation/CoreLocation/Reference/CLLocation_Class/CLLocation/CLLocation.html – quantumpotato 2011-01-23 05:06:30

18

在以前的答案的方法一直是deprecated in iOS 3.2。新方法是非常相似的

- (CLLocationDistance)distanceFromLocation:(const CLLocation *)location 

它也返回一個以米爲單位的距離。它解釋了地球的曲率。

0

迅速3 FUNC距離(位置:CLLocation) - > CLLocationDistance 說明 返回到指定的位置從所述接收器的位置的距離(以米爲單位測得)。 該方法通過跟蹤地球曲率之間的一條直線來測量兩個位置之間的距離。由此產生的弧線是一條平滑曲線,不考慮兩個位置之間的特定高度變化。 參數
位置 其他位置。 返回 兩個位置之間的距離(以米爲單位)。 的SDK的iOS 3.2+,MACOS 10.6+,tvOS 9.0+,watchOS 2.0+ 宣佈核心定位 更多方法參考

例如

let distance = location.distance(from: CLLocation(latitude: 
CLLocationDegrees(oldLocationLat), longitude: 
CLLocationDegrees(oldLocationLng))) 
0

迅速3

func distance(from location: CLLocation) -> CLLocationDistance Description 

返回距離(以米爲單位測得)

例如

locations: [CLLocation] 

let location: CLLocation = locations.last! 

let distance = location.distance(from: CLLocation(latitude: CLLocationDegrees(oldLocationLat), longitude: CLLocationDegrees(oldLocationLng)))