objective-c - iOS 和 Android 上两点之间的不同距离

标签 objective-c ios mapkit distance

我正在尝试测量两点(经度、纬度)之间的距离。我的问题是我在 iOS 和 Android 上得到的结果不同。

我已经用这个 site 检查过了结果是 Android 值是正确的。

我在 iOS 中使用这个 MapKit 方法获取距离:distanceFromLocation:

这是我的测试地点:

P1:48.643798、9.453735 P2:49.495150、9.782150

距离 iOS:97717 米 Android 距离:97673 米

这怎么可能,我该如何解决?

最佳答案

所以我遇到了一个不同的问题,偶然发现了我们两个问题的答案:

在 iOS 上,您可以执行以下操作:

 meters1 = [P1 distanceFromLocation:P2]
 // meters1 is 97,717

 meters2 = [P2 distanceFromLocation:P1]
 // meters2 is 97,630

我找了又找,但没能找到造成差异的原因。由于它们是完全相同的点,因此无论您以哪种方式行驶,它都应该显示相同的距离。我将其作为错误提交给 Apple,他们将其作为副本关闭,但仍未修复。我建议任何希望修复此问题的人也将其作为错误提交。

同时,两者的平均值其实是正确的值:

 meters = (meters1 + meters2)/2
 // meters (the average of the first two) is 97,673

Android显然没有这个问题。

关于objective-c - iOS 和 Android 上两点之间的不同距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9212682/

相关文章:

iphone - 未调用通知

java - 如何检查 url 是否已使用且 24 小时后无效?

ios - 如何在 iOS 中获取表情符号路径

iOS MapKit 获取地点信息和评论

ios - Y 坐标未正确更新

ios - Youtube iOS Player Helper 库不起作用

ios - 为什么这会破坏 UILabel adjustsFontSizeToFitWidth?

重复播放时 iOS 动画不会重置

ios - 使用 mkdirections 查找加州的方向

ios - 如何在 Google map (GMS MapKit)上添加 iOS 放大镜效果