Alle Lösungen zur Abstandsberechnung liegen zwischen zwei Punkten. meine Frage ist: Gibt es eine Möglichkeit, die Entfernung zu einer bestimmten Straße zu berechnen?
Angenommen, ich möchte eine Entfernung von meinem Standort zu einem bestimmten Gebiet oder einer Straße berechnen, die viele Straßen haben, um dorthin zu gelangen, in diesem Fall, wie ich die nächste Straße für mich kenne, um dorthin zu gelangen?
hier habe ich nur einen Punkt (mein Standort), während der Zielpunkt eine Variante ist und von meinem aktuellen Standort abhängt. Was ich über das Ziel weiß, ist in einer bestimmten Straße oder einem bestimmten Gebiet, also wie berechnet man es?
Nehmen wir an, ich bin 10 Meter von einer bestimmten Straße entfernt, die 1 km lang ist. Ich sollte in der Lage sein zu berechnen, dass meine Entfernung 10 Meter vom Anfang dieser Straße entfernt ist, nach dieser Entfernung, wenn ich die Straße betrete, und für jeden Meter, den ich für 1 km geweckt habe, sollte es 0 Meter Abstand von meinem Standort zu dieser Straße sein wenn ich es von der anderen Seite verlasse, sollte die Entfernung wieder vom Endpunkt dieser Straße aus berechnet werden, nicht vom Anfangspunkt, also wenn ich ungefähr fünf Meter davon weggehe, sollte sie es als 5 Meter und nicht als 1005 Meter berechnen / p>Hier ist die Anforderung von Beispiel auf Google Maps:
Lassen Sie uns zuerst Wall Street in NY City auf der Karte.
Das Ziel ist also die Wall Street. Wenn Sie jetzt Ihren Standort in der Kreuzung der John Street mit der Water Street haben, ist es meine Aufgabe, Sie zum nächstgelegenen Punkt in der Wall Street zu führen, und der Pfad lautet wie folgt: dieser (Walk-Modus).
Wenn Sie sich jedoch in der Kreuzung der Broad Street mit der Beaver Street befinden, lautet das Ziel wie dieser (Walk-Modus):
das ist mein Problem
ist es möglich? Bieten neue APIs hierfür eine Lösung?
irgendwelche Lösungen oder Ideen?
hey ja, du bekommst den Längen- und Breitengrad des gesuchten Ortes hier, ich werde dir ein Beispiel geben, wie du es bekommen kannst.
Sie können google Autocomplete für die Suche an einem beliebigen Ort verwenden. Dann erhalten Sie placeid von der Autocomplete-API und geben sie an Details api weiter.
Siehe Parameter übergeben
%Vor%Sie können den Breitengrad in der zweiten API erhalten.
Hoffe, das wird dir helfen.
Erhalte zuerst den Längen- und Breitengrad des Zielortes
%Vor%Wie Sie erwähnt haben, haben Sie den Längen- und Breitengrad Ihres derzeitigen Standorts. Verwenden Sie das, um Ihren aktuellen Standort zu erstellen.
%Vor%Als nächstes können Sie, nachdem Sie die Breiten- und Längengrade Ihrer Ziel- und Quellorte (gegenwärtig) ermittelt haben, die Entfernung zwischen ihnen berechnen z. B.
%Vor%Es gibt Ihnen die Entfernung s / w zwei geo Standorte in Metern.
Schauen Sie sich diese Antwort an. Werfen Sie auch einen Blick auf diese API von Google.
Ich denke, was Sie wollen, sieht so aus:
- get targed street coordinates [lat, long]
- Holen Sie sich Orte in der Nähe von Google,
- Suche den nächsten Ort.
Wenn Sie in diesem Fall die Adresse des Ziels und des Ursprungs ermitteln können, können Sie mit der folgenden Methode die Entfernung zwischen den Adressen ermitteln.
Für die Sie entweder Adresse (Ursprung / Ziel) oder Breiten- / Längengrad (Ursprung / Ziel) übergeben müssen
1) Hier kann der Ursprungsparameter wie folgt aussehen, wenn die Adresse angegeben ist
%Vor%2) Wenn, wenn Breite / Länge angegeben ist, dann folgt das Format.
%Vor%3) Wenn Sie eine Orts-ID erhalten können, ist dies das Format
%Vor%Im folgenden Beispiel werden Längen- / Breitenkoordinaten zum Angeben der Zielkoordinaten verwendet
%Vor%Gleiche Anfrage für codierte Polylinie wird
sein %Vor%Wie von anderen erklärt, ist die allgemeine Methode, die kürzeste Entfernung mit API zu finden,
%Vor%Weitere Informationen erhalten Sie unter diesen Link
Verwenden Sie einfach die Formel Haversine , um den Abstand zwischen zwei Punkten zu berechnen, wenn Sie den Breitengrad und kennen Länge für jeden von ihnen.
Tags und Links android google-api location distance