谷歌地图使用什么公式来计算 2 点之间的最短距离(具有它们的纬度、经度坐标)?API中的AFAIK有一种方法可以调用computeDistanceBetween
,但它是如何工作的?它纯粹基于Haversine吗?还是有什么不同?某处是否有可用的数学或代码实现参考?
更新
似乎谷歌可能使用大圆距离公式假设他们文档中的一个片段:
两点之间的距离是它们之间最短路径的长度。这条最短路径称为测地线。在一个球体上,所有测地线都是一个大圆的片段。
嗯,这很简单。这就像说每个平行线都等于赤道。或者,也许我全都错了。在我看来,这在测量从格陵兰到加拿大之间的距离时不应该正常工作,因为它们远离赤道。但是在谷歌中它无论如何都会给出正确的测量值,我不明白为什么以及如何。他们是否以某种方式修改了大圆公式?