我被问到是否可以创建这样的网站:
我很好奇我将如何计算地点之间的距离。例如,如果我要在明尼阿波利斯的系统表格中输入美元账单,然后该账单由洛杉矶的另一个用户输入,我该如何计算多少英里?
我已经看了一下谷歌地图API,但我没有看到任何有关计算距离的信息。
答案 0 :(得分:1)
获取两个位置的GPS坐标,然后在球体上的两个点之间使用formula for finding distance?这将是与乌鸦一样的距离。如果你想要最短的行驶距离,那就不一样了。
答案 1 :(得分:1)
答案 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/