【发布时间】:2014-01-11 15:01:14
【问题描述】:
Google Maps 使用什么公式来计算 2 点之间的最短距离(具有它们的 Lat、Lng 坐标)? API 中的 AFAIK 有一个名为 computeDistanceBetween 的方法,但它是如何工作的呢?它纯粹基于Haversine吗?还是有什么不同?是否有可用的数学或代码实现参考?
更新
似乎谷歌可能使用great-circle distance formula 假设来自他们的documentation 的片段:
两点之间的距离是它们之间最短路径的长度。这条最短路径称为测地线。在一个球体上,所有测地线都是一个大圆的片段。
嗯,这很简单。这就像说每个平行线都等于赤道。或者,也许我全都错了。在我看来,这在测量从格陵兰到加拿大之间的距离时不应该正常工作,因为它们远离赤道。但是在谷歌中它无论如何都会给出正确的测量结果,我不明白为什么以及如何。他们是否以某种方式修改了大圆公式?
【问题讨论】:
标签: google-maps google-maps-api-3 coordinates distance haversine