我正在尝试计算2个坐标之间的距离。为此我做了:
func setupLocationManager() {
if CLLocationManager.authorizationStatus() == .NotDetermined {
locationManager.requestWhenInUseAuthorization()
}
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyBest
locationManager.startUpdatingLocation()
}
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
let latitude = locations.last?.coordinate.latitude
let longitude = locations.last?.coordinate.longitude
let myLocation = CLLocation(latitude: latitude!, longitude: longitude!)
let targetLocation = CLLocation(latitude: 41.4381022, longitude: 46.604910)
let distance = myLocation.distanceFromLocation(targetLocation)
print(distance)
}
我在Google地图上查看距离有13公里!但我的应用程序显示我2-3公里!
我该如何改进?
答案 0 :(得分:5)
Google地图为您提供两个地点之间的路线距离,CLLocation
为您提供两个地点之间的鸟瞰距离。
此方法通过跟踪测量两个位置之间的距离 它们之间的一条线跟随地球的曲率。该 产生的弧线是一条平滑的曲线并没有考虑在内 两个地点之间的特定高度变化。
答案 1 :(得分:0)
以下是基于working GPS app的示例。
stats_type='season'