Google地图是否计算错误的距离?

gar*_*uan 8 google-maps haversine

我设法得到两个函数来计算谷歌地图上两点之间的距离.我使用Google Maps API中的GLatLng.distanceFrom方法从网络上的各个位置收集(偷取)了一个.

我使用两个函数的原因是因为我注意到我从谷歌获得的结果有些奇怪,例如,Lands End和英国的John O Groats之间的距离返回如下

  • 我的功能:985公里
  • 谷歌:986公里
  • 维基百科:970公里

与维基百科的结果相差15/16km是因为Google返回的位置结果与实际的John O Groats相距约15公里.这是正确的.

然后我测试了伦敦和米兰之间的距离并得到了

  • 我的功能:1232公里
  • 谷歌:1234公里
  • Wolfram Alpha:958.5km

所以有人超过250公里.然后我尝试了伦敦到纽约

  • 我的功能:8244km
  • 谷歌:8254公里
  • Wolfram Alpha:5581km

一般来说,伦敦和纽约之间的距离大约为5560公里.但是现在我的功能和Google功能似乎都不合适了.

我正在使用的功能可以在这里找到.我向作者抱歉没有链接到原始网站,但布局真的令人困惑.我正在使用distHaversine功能.

我必须承认,数学是超出我的舒适程度,但我得到了要点,据我所知,谷歌也使用了Haversine方法.我也明白它可能会下降约0.3%,但这并不能解释我所看到的差异.而且我更加困惑的是,它有时是正确的,有时会偏离地方之间的常规距离.距离越远,越远.

那么谁错了.Google和我正在使用的功能,还是其他所有人?

gar*_*uan 3

事实证明,我的纬度和经度参数是错误的。