我需要计算两点之间的最短距离。我正在使用下面的函数来实现这一点。
var p1 = new google.maps.LatLng(6.71532762,80.06215197);
var p2 = new google.maps.LatLng(6.93234287,79.84870747);
var distance = document.getElementById('distance');
distance.innerHTML = distance.innerHTML+calcDistance(p1, p2);
//calculates distance between two points in km's
function calcDistance(p1, p2) {
return (google.maps.geometry.spherical.computeDistanceBetween(p1, p2) / 1000).toFixed(2);
}
距离为 33.77 公里。但根据google maps ,上述点之间的最短距离应为45.0公里。
我怎样才能得到这个值? (45.0 公里)
这是jsfiddle link .
最佳答案
球面距离是 a - b 的直线距离(当鸟飞行时)
您发布的 Google map 链接显示一条长 45 公里的街道。
编辑:要获得最短街道距离,您需要查看谷歌地图方向 API 而不是球形方法: https://developers.google.com/maps/documentation/directions/intro
关于javascript - 获取两点之间的最短距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44649630/