Ich muss berechnen kürzester Abstand zwischen zwei Punkten. Ich verwende unten Funktion, um das zu erreichen.Get kürzester Abstand zwischen zwei Punkten
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);
}
Das gibt 33,77 km als Abstand. Aber nach google maps, kürzester Abstand zwischen den oben genannten Punkten sollte 45,0 km sein.
Wie könnte ich diesen Wert erhalten? (45,0 km)
Hier ist die jsfiddle link.
Beachten Sie, dass die Methode Sie anrufen ist „google.maps.geometry ** ** sphärische .computeDistanceBetween“, die ich vermute, ist die Gre im Kreisabstand zwischen den zwei Punkten (d.h. kürzeste Entfernung rund um den Globus). – RobG
Ich habe die Entfernung in Google Maps selbst gemessen und bekam als Ergebnis ** ~ 33,7 km **. Edit: Ich nehme an, Sie haben die ** 45 km ** aus der Entfernung auf der Straße. Dies ist nicht die Funktion, nach der Sie suchen, wenn Sie die Entfernung auf der Straße messen möchten. [Siehe diesen Link] (https://developers.google.com/maps/documentation/javascript/direction) – Nysten
Berechnung der sphärischen Entfernung! = Über Straßen zurückgelegte Entfernung. Bitte geben Sie an, was Sie benötigen. –