Um eine Routenmatrix zu berechnen, müssen Sie mindestens die Standorte eines Routenstarts und eines Routenziels angeben.
Standorte für eine Route angeben
Sie stellen einen Standort dar, indem Sie ein Waypoint-Objekt (REST) oder ein Waypoint-Objekt (gRPC) erstellen. In der Wegpunktdefinition können Sie einen Standort auf eine der folgenden Arten angeben:
- Orts-ID (bevorzugt)
- Breiten- und Längengradkoordinaten
- Adressstring ("Chicago, IL" oder "Darwin, NT, Australien")
- Token für Navigationspunkt
- Plus Code
Sie können Standorte für alle Wegpunkte in einer Anfrage auf dieselbe Weise angeben oder sie mischen. Sie können beispielsweise Breiten- und Längengradkoordinaten für den Startwegpunkt und eine Orts-ID für den Zielwegpunkt verwenden.
Verwenden Sie aus Effizienz- und Genauigkeitsgründen Orts-IDs anstelle von Breiten- und Längengradkoordinaten oder Adressstrings. Orts-IDs sind eindeutig und bieten Vorteile beim Geocoding für die Routenplanung, z. B. für Zugangspunkte und Verkehrsvariablen. Sie helfen, die folgenden Situationen zu vermeiden, die durch andere Möglichkeiten zur Angabe eines Standorts entstehen können:
- Wenn Sie Breiten- und Längengradkoordinaten verwenden, wird der Standort möglicherweise auf die Straße in der Nähe dieser Koordinaten festgelegt. Das ist möglicherweise kein Zugangspunkt zum Grundstück oder nicht einmal eine Straße, die 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 Umwandlung kann sich auf die Leistung auswirken.
Standort als Orts-ID angeben
Sie können eine Orts-ID verwenden, um den Standort eines Wegpunkts anzugeben. Da Breiten- und Längengradkoordinaten auf Straßen festgelegt werden, kann eine Orts-ID unter Umständen bessere Ergebnisse liefern.
Rufen Sie Orts-IDs aus der Geocoding API und der Places API (einschließlich Place Autocomplete) ab. Weitere Informationen zu Orts-IDs finden Sie in der Übersicht zu Orts-IDs.
Im folgenden Beispiel wird die Property placeId verwendet, um eine Orts-ID für origin und destination zu übergeben:
{ "origin":{ "placeId": "ChIJayOTViHY5okRRoq2kGnGg8o" }, "destination":{ "placeId": "ChIJTYKK2G3X5okRgP7BZvPQ2FU" }, ... }
Standort als Breiten- und Längengradkoordinaten angeben
Um den Standort in einem Wegpunkt zu definieren, geben Sie den Standort (REST) oder den Standort(gRPC) mit Breiten- und Längengradkoordinaten an.
Geben Sie beispielsweise einen Wegpunkt für den Routenstart (origin) und das Routenziel (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 } } }, ... }
Standort als Adressstring angeben
Adressstrings sind Adressen, die als String dargestellt werden, z. B. „Unter den Linden 14, 10117 Berlin“. Beim Geocoding wird ein Adressstring in Breiten- und Längengradkoordinaten umgewandelt, z. B. in Breitengrad 37.423021 und Längengrad -122.083739.
Wenn Sie einen Adressstring als Standort eines Wegpunkts übergeben, geocodiert die Routes API den String intern, um ihn in Breiten- und Längengradkoordinaten umzuwandeln.
Um beispielsweise eine Route zu berechnen, geben Sie einen Wegpunkt für den Routenstart (origin) und das Routenziel (destination) mit Adressstrings an:
{ "origin":{ "address": "1600 Amphitheatre Parkway, Mountain View, CA" }, "destination":{ "address": "450 Serra Mall, Stanford, CA 94305, USA" }, ... }
In diesem Beispiel geocodiert die Routes API beide Adressen, um sie in Breiten- und Längengradkoordinaten umzuwandeln.
Wenn der Adresswert mehrdeutig ist, kann die Routes API eine Suche ausführen, um ihn von ähnlichen Adressen zu unterscheiden. „Unter den Linden“ kann beispielsweise ein vollständiger oder ein Teilwert für „Unter den Linden 14“ oder „Unter den Linden 15“ sein. Dieses Ergebnis kann sich von dem unterscheiden, das von der Geocoding API zurückgegeben wird. Mit Orts-IDs lassen sich mögliche Fehlinterpretationen vermeiden.
Region für die Adresse festlegen
Wenn Sie einen unvollständigen Adressstring als Standort eines Wegpunkts übergeben, verwendet die API möglicherweise die falschen geocodierten Breiten- und Längengradkoordinaten. Sie stellen beispielsweise eine Anfrage, in der Sie „Berlin“ als Startort und „München“ als Zielort für eine Autofahrt angeben:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE" }
In diesem Beispiel wird „Berlin“ als Stadt in Deutschland und nicht in den USA interpretiert. 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 zurückgegeben werden, die nach einer bestimmten Region gewichtet sind. Dazu fügen Sie den Parameter regionCode ein. Dieser Parameter gibt den Regionscode als
Ländercode der Top-Level-Domain (ccTLD)
an. Die meisten ccTLD-Codes sind mit den ISO 3166-1-Codes identisch. Es gibt jedoch einige Ausnahmen. So lautet beispielsweise die ccTLD des Vereinigten Königreichs „uk“ (.co.uk) und der ISO 3166-1-Code „gb“ (technisch für die Einheit „Vereinigtes Königreich von Großbritannien und Nordirland“).
Eine Routenanfrage für „Berlin“ nach „München“, die den Parameter regionCode enthält, gibt die entsprechenden Ergebnisse zurück, da „Berlin“ als Stadt in Deutschland interpretiert wird:
{ "origin":{ "address": "Toledo" }, "destination":{ "address": "Madrid" }, "travelMode": "DRIVE", "regionCode": "es" }
Die Antwort enthält jetzt die Route, die von Berlin nach München berechnet wurde:
{ "routes": [ { "distanceMeters": 75330, "duration": "4137s", ... } ] }
Standort als Token für Navigationspunkt angeben
Ein Token für einen Navigationspunkt ist ein String, der einen Standort und zusätzlichen Routenkontext codiert. Token für Navigationspunkte können eine genaue Routenplanung zu bestimmten Zugangspunkten in der Nähe von Eingängen, Laderampen oder ausgewiesenen Abholbereichen ermöglichen. Das ist in Fällen wie der Essenslieferung oder Mitfahrgelegenheiten nützlich, in denen der Abhol- oder Abgabeort mehrdeutig sein kann.
Sie können ein Token für einen Navigationspunkt abrufen, indem Sie die Methode „Destinations“ der Geocoding API aufrufen.
So geben Sie ein Token für einen Navigationspunkt an:
- Rufen Sie mit der Methode
SearchDestinationsder Geocoding API einnavigationPointTokenab. Weitere Informationen finden Sie in der Dokumentation zur Geocoding API. - Erstellen Sie einen Wegpunkt, indem Sie das
navigationPointTokenübergeben.
Im folgenden Beispiel wird die Property navigation_point_token verwendet, um ein Token für einen Navigationspunkt für origin und destination zu übergeben:
{ "origin":{ "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_ORIGIN" }, "destination":{ "navigation_point_token": "ENCODED_NAVIGATION_POINT_TOKEN_FOR_DESTINATION" }, ... }
Standort als Plus Code angeben
Viele Menschen haben keine genaue Adresse, was es ihnen erschweren kann, Lieferungen zu erhalten. Oder Personen mit einer Adresse möchten Lieferungen möglicherweise 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ängengradkoordinaten und werden als Zahlen und Buchstaben angezeigt.
Google hat Plus Codes entwickelt, um allen und allem die Vorteile von Adressen zu bieten. 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 werden:
- Ein globaler Code besteht aus einem vierstelligen Code für das Gebiet und einem mindestens sechsstelligen lokalen Code.
Für die Adresse „Unter den Linden 14, 10117 Berlin“ ist der globale Code „849V“ und der lokale Code ist „CWC8+R9“. Verwenden Sie dann den gesamten 10-stelligen Plus Code, um den Standortwert als „849VCWC8+R9“ anzugeben.
- Ein zusammengesetzter Code besteht aus einem mindestens sechsstelligen
lokalen Code in Kombination mit einem expliziten Standort.
Die Adresse "450 Serra Mall, Stanford, CA 94305, USA" hat den lokalen Code "CRHJ+C3". Für eine zusammengesetzte Adresse kombinieren Sie den lokalen Code mit dem Teil der Adresse, der Stadt, Bundesland, Postleitzahl und Land enthält, im Format "CRHJ+C3 Stanford, CA 94305, USA".
Berechnen Sie beispielsweise eine Route, indem Sie einen Wegpunkt für den Routenstart (
origin) und das Routenziel (destination) mit 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 Place Autocomplete, Place Details, Directions API (Legacy) und Geocoding API. Mit der Geocoding API können Sie beispielsweise einen Standort, der durch Breiten- und Längengradkoordinaten angegeben ist, umgekehrt geocodieren, um den Plus Code des Standorts zu ermitteln.