如何计算2个地方之间的距离

时间:2010-07-20 19:20:54

标签: google-maps distance

我被问到是否可以创建这样的网站:

我很好奇我将如何计算地点之间的距离。例如,如果我要在明尼阿波利斯的系统表格中输入美元账单,然后该账单由洛杉矶的另一个用户输入,我该如何计算多少英里?

我已经看了一下谷歌地图API,但我没有看到任何有关计算距离的信息。

5 个答案:

答案 0 :(得分:1)

获取两个位置的GPS坐标,然后在球体上的两个点之间使用formula for finding distance?这将是与乌鸦一样的距离。如果你想要最短的行驶距离,那就不一样了。

答案 1 :(得分:1)

这是一个解释,公式为:http://en.wikipedia.org/wiki/Great-circle_distance

答案 2 :(得分:1)

你想要的是两个纬度/经度点之间距离的Vincenty公式的JavaScript实现。

请参阅http://www.movable-type.co.uk/scripts/latlong-vincenty.html

如果需要,可以在谷歌地图中实现这一点非常简单,将两个LatLng坐标作为参数。

例如,要在地图上单击最后两点之间的距离:

// requires distVincenty method from www.movable-type.co.uk/scripts/latlong-vincenty.html
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
lastClickLatLng = false;
google.maps.event.addListener(map, 'click', function (event) {
    if (lastClickLatLng) {
        var myDistance = distVincenty(lastClickLatLng.lat(), lastClickLatLng.lng(), event.latLng.lat(), event.latLng.lng());
        // Do something with myDistance!
    }
    lastClickLatLng = event.latLng;
});

答案 3 :(得分:1)

Google Map API具有查找此功能的功能。

GLatLng.distanceFrom()

答案 4 :(得分:1)

Wai Yip Tung 的回应非常适合“像乌鸦一样”计算。 但是,如果您想通过步行或驾车了解距离,请使用Google的路线API - http://code.google.com/apis/maps/documentation/directions/