Um eine Route zu berechnen, müssen Sie mindestens den Start- und den Zielort der Route angeben. Sie definieren diese Orte als Wegpunkte auf der Route.
Zusätzlich zu Start und Ziel können Sie verschiedene Arten von Wegpunkten und die Handhabung von Wegpunkten für eine Route angeben. Weitere Informationen und Beispiele finden Sie in den folgenden Themen:
- Fahrtrichtung und Straßenseite des Fahrzeugs angeben
- Zwischenwegpunkte angeben
- Zwischenstopp auf einer Route festlegen
- Punkt festlegen, durch den eine Route verlaufen soll
- Reihenfolge der Zwischenstopps auf der Route optimieren
Orte für eine Route angeben
Sie stellen einen Ort dar, indem Sie ein Waypoint (REST)- oder Waypoint (gRPC)-Objekt erstellen. In der Wegpunktdefinition können Sie einen Ort auf eine der folgenden Arten angeben:
- Orts-ID (bevorzugt)
- Breiten- und Längengrad
- Adressstring („Chicago, IL“ oder „Darwin, NT, Australien“)
- Navigationspunkt-Token
- Plus Code
Sie können die Standorte für alle Wegpunkte in einer Anfrage auf dieselbe Weise angeben oder sie kombinieren. Sie können beispielsweise Breiten- und Längengradkoordinaten für den Startwegpunkt und eine Orts-ID für den Zielwegpunkt verwenden.
Verwenden Sie aus Gründen der Effizienz und Genauigkeit Orts-IDs anstelle von Breiten-/Längengradkoordinaten oder Adressstrings. Orts-IDs sind eindeutig und bieten Geocoding-Vorteile für das Routing, z. B. Zugangspunkte und Verkehrsvariablen. Sie helfen, die folgenden Situationen zu vermeiden, die sich aus anderen Möglichkeiten der Standortangabe ergeben können:
- Wenn Sie Breiten- und Längengradkoordinaten verwenden, wird der Standort möglicherweise an der Straße ausgerichtet, die diesen Koordinaten am nächsten liegt. Das ist aber möglicherweise kein Zugangspunkt zum Grundstück oder sogar eine Straße, die nicht schnell oder sicher zum Ziel führt.
- Adressstrings müssen zuerst von der Routes API geocodiert werden, um sie in Breiten- und Längengradkoordinaten umzuwandeln, bevor eine Route berechnet werden kann. Diese Konvertierung kann sich auf die Leistung auswirken.
Ort als Orts-ID angeben
Sie können eine Orts-ID verwenden, um den Standort eines Wegpunkts anzugeben. Da Breiten- und Längengradkoordinaten an Straßen ausgerichtet werden, kann es sein, dass Sie mit einer Orts-ID unter Umständen bessere Ergebnisse erzielen.
Orts-IDs aus der Geocoding API und der Places API (New) (einschließlich Autocomplete (New)) abrufen Weitere Informationen finden Sie in der Übersicht zur Orts-ID.
Im folgenden Beispiel wird die Property placeId verwendet, um eine Orts-ID sowohl für origin als auch für destination zu übergeben:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
Standort als Breiten- und Längengrad angeben
Wenn Sie den Standort in einem Wegpunkt definieren möchten, geben Sie den Standort (REST) oder Standort (gRPC) mithilfe von Breiten- und Längengradkoordinaten an.
Geben Sie beispielsweise einen Wegpunkt für die Route origin und destination mit den Koordinaten latitude und longitude an:
{ "origin":{ "location":{ "latLng":{ "latitude": 37.419734, "longitude": -122.0827784 } } }, "destination":{ "location":{ "latLng":{ "latitude": 37.417670, "longitude": -122.079595 } } }, ... }
Ort als Adressstring angeben
Adressstrings sind literale Adressen, die durch einen String dargestellt werden, z. B. „1600 Amphitheatre Parkway, Mountain View, CA“. Beim Geocoding wird ein Adressstring in Breiten- und Längengradkoordinaten umgewandelt (z. B. Breitengrad 37.423021 und Längengrad -122.083739).
Wenn Sie einen Adressstring als Standort eines Wegpunkts übergeben, wird der String von der Routes API intern geocodiert, um ihn in Breiten- und Längengradkoordinaten umzuwandeln.
Wenn Sie beispielsweise eine Route berechnen möchten, geben Sie einen Wegpunkt für den Startpunkt (origin) und das Ziel (destination) der Route mithilfe von Adressstrings an:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
In diesem Beispiel werden beide Adressen von der Routes API geocodiert, um sie in Breiten- und Längengradkoordinaten umzuwandeln.
Wenn der Adresswert mehrdeutig ist, kann die Routes API eine Suche aufrufen, um die Adresse von ähnlichen Adressen zu unterscheiden. Beispiel: „1st Street“ könnte ein vollständiger Wert oder ein Teilwert für „1st Street NE“ oder „1st St SE“ sein. Dieses Ergebnis kann sich von dem der Geocoding API unterscheiden. Mögliche Fehlinterpretationen lassen sich durch die Verwendung von Orts-IDs vermeiden.
Legen Sie die Region für die Adresse fest:
Wenn Sie einen unvollständigen Adressstring als Standort eines Wegpunkts übergeben, verwendet die API möglicherweise die falschen geocodierten Längen- und Breitengradkoordinaten. Sie stellen beispielsweise eine Anfrage, in der Sie „Toledo“ als Startpunkt und „Madrid“ als Ziel für eine Route mit dem Auto angeben:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
In diesem Beispiel wird „Toledo“ als Stadt im US-Bundesstaat Ohio interpretiert, nicht als Stadt in Spanien. Daher gibt die Anfrage ein leeres Array zurück, was bedeutet, dass keine Routen vorhanden sind:
{ [] }
Sie können die API so konfigurieren, dass Ergebnisse nach einer bestimmten Region gewichtet werden, indem Sie den Parameter regionCode einfügen. Dieser Parameter gibt den Regionscode als zweistelligen Wert der ccTLD („Top-Level-Domain“) an. Die meisten ccTLD-Codes entsprechen den ISO-3166-1-Codes. Es gibt jedoch einige Ausnahmen. So lautet beispielsweise die ccTLD des Vereinigten Königreichs „uk“ (.co.uk), der ISO 3166-1-Code dagegen „gb“ (technisch gesehen für die Entität „Vereinigtes Königreich Großbritannien und Nordirland“).
Eine Routenanfrage von „Toledo“ nach „Madrid“, die den Parameter regionCode enthält, liefert die gewünschten Ergebnisse, da „Toledo“ als Stadt in Spanien interpretiert wird:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
Die Antwort enthält jetzt die Route von Toledo, Spanien, nach Madrid, Spanien:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
Ort als Navigationspunkt-Token angeben
Ein Navigationspunkt-Token ist ein String, der einen Ort und zusätzlichen Routenkontext codiert. Navigationspunkt-Tokens können eine genaue Routenführung zu bestimmten Zugangspunkten in der Nähe von Eingängen, Laderampen oder ausgewiesenen Abholbereichen ermöglichen. Das ist nützlich, wenn der Abhol- oder Absetzpunkt nicht eindeutig ist, z. B. bei Essenslieferungen oder Mitfahrgelegenheiten.
Sie können ein Navigationspunkt-Token abrufen, indem Sie die Destinations-Methode der Geocoding API aufrufen.
So geben Sie ein Navigationspunkt-Token an:
- Rufen Sie mit der Methode
SearchDestinationsder Geocoding API einenavigationPointTokenab. Weitere Informationen finden Sie in der Dokumentation zur Geocoding API. - Erstellen Sie einen Wegpunkt, indem Sie die
navigationPointTokenübergeben.
Im folgenden Beispiel wird die Property navigation_point_token verwendet, um ein Navigationspunkt-Token sowohl für origin als auch für destination zu übergeben:
{ "origin":{ "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_ORIGIN" }, "destination":{ "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_DESTINATION" }, ... }
Ort als Plus Code angeben
Viele Menschen haben keine genaue Adresse, was es für sie schwierig machen kann, Lieferungen zu erhalten. Oder Personen mit einer Adresse möchten Lieferungen an bestimmten Orten annehmen, z. B. an einem Hintereingang oder einer Laderampe.
Plus Codes sind wie Adressen für Personen oder Orte, die keine tatsächliche Adresse haben. Anstelle von Adressen mit Straßennamen und Hausnummern basieren Plus Codes auf Breiten- und Längengraden und werden als Zahlen und Buchstaben angezeigt.
Google hat Plus Codes entwickelt, damit alle Menschen und Orte von Adressen profitieren können. Ein Plus Code ist ein codierter Verweis auf den Standort, der sich aus den Koordinaten (Breiten- und Längengrad) ableiten lässt und einen Bereich definiert: 1/8.000stel eines Grades mal 1/8.000stel eines Grades (ca. 14 m × 14 m am Äquator) oder kleiner. Plus Codes können als Ersatz für Adressen verwendet werden, wenn keine Adressen vorhanden sind, z. B. wenn Gebäude keine Hausnummern oder Straßen keine Namen haben.
Plus Codes müssen als globaler oder als zusammengesetzter Code formatiert sein:
- Ein globaler Code besteht aus einer vierstelligen Vorwahl und einem mindestens sechsstelligen lokalen Code.
Für die Adresse „1600 Amphitheatre Parkway, Mountain View, CA“ lautet der globale Code beispielsweise „849V“ und der lokale Code „CWC8+R9“. Anschließend verwenden Sie den gesamten zehnstelligen Plus Code, um den Standortwert als „849VCWC8+R9“ anzugeben.
- Ein Compound Code besteht aus einem mindestens sechsstelligen lokalen Code und einem expliziten Ort.
Die Adresse „450 Serra Mall, Stanford, CA 94305, USA“ hat beispielsweise den lokalen Code „CRHJ+C3“. Bei einer zusammengesetzten Adresse kombinieren Sie den lokalen Code mit dem Ort, dem Bundesstaat, der Postleitzahl und dem Land der Adresse, z. B. „CRHJ+C3 Stanford, CA 94305, USA“.
Sie können beispielsweise eine Route berechnen, indem Sie einen Wegpunkt für die Route
originunddestinationmithilfe von Plus Codes angeben:{ "origin":{ "address": "849VCWC8+R9" }, "destination":{ "address": "CRHJ+C3 Stanford, CA 94305, USA" }, "travelMode": "DRIVE" }
Plus Codes werden in Google Maps Platform APIs unterstützt, darunter Autocomplete (New), Place Details (New) und Geocoding API. Sie können die Geocoding API beispielsweise verwenden, um einen Standort, der durch Breiten- und Längengradkoordinaten angegeben ist, umgekehrt zu geocodieren und so den Plus Code des Standorts zu ermitteln.