Ich habe es geschafft, zwei Funktionen zu bekommen, um Entfernungen zwischen zwei Punkten auf einer Google-Karte zu berechnen. Eine, die ich von verschiedenen Stellen im Web und die andere mit der GLatLng.distanceFrom-Methode in der Google Maps-API erfasst (gestohlen) habe.
Der Grund, warum ich zwei Funktionen nutze, ist, dass ich etwas seltsames an den Ergebnissen bemerkt habe, die ich von Google bekommen habe, zum Beispiel wird die Entfernung zwischen Lands End und John O Groats in Großbritannien wie folgt zurückgegeben:
Der 15/16-km-Unterschied zum Wikipedia-Ergebnis liegt darin, dass Google ein Standortergebnis etwa 15 km vom tatsächlichen John O Groats zurückgibt. Das ist in etwa richtig.
Also habe ich die Entfernung zwischen London und Mailand getestet und habe
Also jemand ist mehr als 250km draußen. Dann habe ich versucht London nach New York
Im Allgemeinen wird die Entfernung zwischen London und New York auf 5560 km geschätzt. Aber jetzt scheinen sowohl meine Funktion als auch die Google-Funktion ganz daneben zu liegen.
Die Funktion, die ich verwende, finden Sie hier . Meine Entschuldigung für den Autor, dass ich nicht auf die ursprüngliche Seite verlinke, aber das Layout ist wirklich verwirrend. Ich verwende die Funktion distHaversine.
Ich muss zugeben, dass die Mathematik weit über meinen Komfort hinausgeht, aber ich verstehe das Wesentliche, und wie ich es verstehe, verwendet Google auch die Haversine-Methode. Ich verstehe auch, dass es um etwa 0,3% abweichen kann, aber das würde nicht für die Unterschiede verantwortlich sein, die ich sehe. Und ich bin außerdem verwirrt darüber, dass es manchmal richtig und manchmal weit entfernt von den üblichen Abständen zwischen den Orten ist. Es scheint, je größer die Entfernung ist, desto mehr ist es entfernt.
Also, wer ist falsch. Google und die Funktion, die ich verwende, oder alle anderen?
Wie sich herausstellte, hatte ich die Breiten- und Längengradparameter falsch herum.
Tags und Links google-maps haversine