CoreLocation的两个坐标之间的距离

时间:2009-08-28 18:20:54

标签: iphone core-location

我需要计算两个坐标之间的距离(以米和英里为单位)

我该怎么做?

4 个答案:

答案 0 :(得分:26)

返回从接收器坐标到指定位置坐标的距离(以米为单位)。

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

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

CLLocation

答案 1 :(得分:18)

上一个答案中的方法是deprecated in iOS 3.2。新方法非常相似

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

也返回以米为单位的距离。它取决于地球的曲率。

答案 2 :(得分:0)

迅速3 函数距离(来自位置:CLLocation) - > CLLocationDistance 描述 返回从接收器位置到指定位置的距离(以米为单位)。 该方法通过跟踪它们之间沿着地球曲率的线来测量两个位置之间的距离。产生的弧是平滑的曲线,并没有考虑两个位置之间的特定高度变化。 参数
地点 另一个位置。 返回 两个位置之间的距离(以米为单位)。 SDKs iOS 3.2 +,macOS 10.6 +,tvOS 9.0 +,watchOS 2.0+ 在核心位置申报 更多方法参考

e.g。

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

答案 3 :(得分:0)

swift 3

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

返回距离(以米为单位)

e.g。

locations: [CLLocation]

let location: CLLocation = locations.last!

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