【发布时间】:2018-03-29 22:05:21
【问题描述】:
我目前一直在尝试使用 Google 地图,并发现了 Apple 提供的 CoreLocation 可用的方法。
方法是:
func distance(from: CLLocation) 返回从接收器位置到指定位置的距离(以米为单位)。
现在最让我感兴趣的是,在将米转换为英里之后,这种方法是如何得出输出结果的。我将结果与谷歌地图计算出的距离进行了比较,发现它有很大的不同。我的问题是距离函数是否计算出直线距离而忽略转弯(即道路、高速公路等),这实际上会增加计算的距离。
这是我使用上述方法的实现。
func testDistance(lat0: Double, long0: Double, lat1: Double, long1: Double){
let coordinate₀ = CLLocation(latitude: lat0, longitude: long0)
let coordinate₁ = CLLocation(latitude: lat1, longitude: long1)
let distanceInMeters = coordinate₀.distance(from: coordinate₁)
let distanceInMile = distanceInMeters/1609.344
print("\(distanceInMile) miles")
}
【问题讨论】: