Wenn die Routes API eine Route berechnet, werden die von Ihnen angegebenen Wegpunkte und Konfigurationsparameter als Eingabe verwendet. Die API gibt dann eine Antwort zurück, die die Standardroute und eine oder mehrere alternative Routen enthält.
Die Antwort kann je nach den angeforderten Feldern verschiedene Arten von Routen und andere Daten enthalten:
| Um dies in die Antwort aufzunehmen, | Weitere Informationen finden Sie in dieser Dokumentation. |
|---|---|
| Die energieeffizienteste Route basierend auf dem Motortyp des Fahrzeugs. | Verbrauchsarme Routenplanung konfigurieren |
| Bis zu drei alternative Routen | Alternative Routen anfordern |
| Die Polylinie für eine gesamte Route, für jeden Abschnitt einer Route und für jeden Schritt eines Abschnitts. | Polylinien für Routen anfordern |
| Die geschätzten Mautgebühren unter Berücksichtigung von Rabatten oder Pässen, die für den Fahrer oder das Fahrzeug verfügbar sind. | Mautgebühren berechnen |
| Lokalisierte Antworten nach Sprachcodes und Maßeinheit (angloamerikanisch oder metrisch). | Lokalisierte Werte anfordern |
Wenn Sie die Navigationsanweisungen als HTML-Textstring formatieren möchten, fügen Sie HTML_FORMATTED_NAVIGATION_INSTRUCTIONS zu extraComputations hinzu. |
Zusätzliche Berechnungen |
Eine vollständige Liste der Eingabeoptionen finden Sie unter Verfügbare Routenoptionen und im Anfragetext.
Anhand der Antwort können Sie Ihren Kunden die Informationen zur Verfügung stellen, die sie benötigen, um die für ihre Anforderungen geeignete Route auszuwählen.
Feldmasken
Wenn Sie eine Methode zum Berechnen einer Route aufrufen, müssen Sie eine Feldmaske angeben, die definiert, welche Felder in der Antwort zurückgegeben werden sollen. Es gibt keine Standardliste der zurückgegebenen Felder. Wenn Sie diese Liste weglassen, geben die Methoden einen Fehler zurück.
In den Beispielen in diesem Dokument wird das gesamte Antwortobjekt ohne Berücksichtigung von Feldmasken gezeigt. In einer Produktionsumgebung würde Ihre Antwort nur die Felder enthalten, die Sie explizit in der Feldmaske angeben.
Weitere Informationen finden Sie unter Auswählen, welche Informationen zurückgegeben werden sollen.
Urheberrechtshinweise anzeigen
Wenn Sie die Ergebnisse Ihren Nutzern anzeigen, müssen Sie die folgende Urheberrechtserklärung einfügen:
Powered by Google, ©YEAR Google
Beispiel:
Powered by Google, ©2023 Google
Routen, Abschnitte und Schritte
Bevor Sie sich die Antwort der Routes API ansehen, sollten Sie die Komponenten einer Route kennen:

Die Antwort kann Informationen zu den folgenden Routenkomponenten enthalten:
Route: Die gesamte Fahrt vom Startwegpunkt über alle Zwischenwegpunkte bis zum Zielwegpunkt. Eine Route besteht aus einem oder mehreren Abschnitten.
Teilstrecke: Der Pfad von einem Wegpunkt einer Route zum nächsten Wegpunkt der Route. Jeder Abschnitt besteht aus einem oder mehreren separaten Schritten.
Eine Route enthält für jeden Wegpunkt einen separaten Abschnitt bis zum nächsten Wegpunkt. Wenn die Route beispielsweise einen einzelnen Start- und einen einzelnen Zielwegpunkt enthält, umfasst sie einen einzelnen Abschnitt. Für jeden zusätzlichen Wegpunkt, den Sie der Route nach dem Start und Ziel hinzufügen, wird ein separater Abschnitt hinzugefügt. Diese Wegpunkte werden als Zwischenwegpunkte bezeichnet.
Die API fügt keinen Abschnitt für einen Zwischenwegpunkt hinzu. Eine Route, die einen Startwegpunkt, einen Zwischenwegpunkt und einen Zielwegpunkt enthält, umfasst beispielsweise nur einen Abschnitt vom Start- zum Zielort, der über den Zwischenwegpunkt führt. Weitere Informationen zu Durchgangswegpunkten finden Sie unter Durchgangswegpunkt definieren.
Schritt: Eine einzelne Anweisung auf einem Abschnitt einer Route. Ein Schritt ist die kleinste Einheit einer Route. Ein Schritt kann beispielsweise „Biegen Sie links in die Hauptstraße ab“ lauten.
Inhalt der Antwort
Das JSON-Objekt, das die API-Antwort darstellt, enthält die folgenden Attribute auf oberster Ebene:
routes, ein Array von Elementen des Typs Route. Das Arrayroutesenthält ein Element für jede Route, die von der API zurückgegeben wird. Das Array kann maximal fünf Elemente enthalten: die Standardroute, die verbrauchsarme Route und bis zu drei alternative Routen.geocodingResults, ein Array von Elementen des Typs GeocodingResults. Für jeden Ort in der Anfrage (Startpunkt, Ziel oder Zwischenwegpunkt), den Sie als Adressstring oder als Plus Code angegeben haben, führt die API eine Orts-ID-Suche durch. Jedes Element dieses Arrays enthält die Orts-ID, die einem Standort entspricht. Orte in der Anfrage, die als Orts-ID oder als Breiten-/Längengradkoordinaten angegeben sind, werden nicht berücksichtigt. Wenn Sie alle Orte mithilfe von Orts-IDs oder Breiten- und Längengraden angegeben haben, wird dieses Array nicht bereitgestellt.fallbackInfovom Typ FallbackInfo. Wenn die API keine Route aus allen Eingabeattributen berechnen kann, wird möglicherweise eine andere Berechnungsmethode verwendet. Wenn der Fallback-Modus verwendet wird, enthält dieses Feld detaillierte Informationen zur Fallback-Antwort. Andernfalls ist dieses Feld nicht festgelegt.
Die Antwort hat folgendes Format:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
Routen-Array entschlüsseln
Die Antwort enthält das Array routes, wobei jedes Arrayelement vom Typ Route ist.
Jedes Arrayelement stellt eine vollständige Route vom Start- zum Zielort dar. Die API gibt immer mindestens eine Route zurück, die als Standardroute bezeichnet wird.
Sie können zusätzliche Routen anfordern. Wenn Sie eine verbrauchsarme Route anfordern, kann das Array zwei Elemente enthalten: die Standardroute und die verbrauchsarme Route. Alternativ können Sie computeAlternativeRoutes in der Anfrage auf true setzen, um der Antwort bis zu drei alternative Routen hinzuzufügen.
Jede Route im Array wird durch das Array-Attribut routeLabels identifiziert:
| Wert | Beschreibung |
|---|---|
DEFAULT_ROUTE |
Kennzeichnet die Standardroute. |
FUEL_EFFICIENT |
Kennzeichnet die verbrauchsarme Route. |
DEFAULT_ROUTE_ALTERNATE |
Zeigt eine alternative Route an. |
Das Array legs enthält die Definition der einzelnen Abschnitte der Route. Die übrigen Properties wie distanceMeters, duration und polyline, enthalten Informationen zur gesamten Route:
{ "routeLabels": [ enum (RouteLabel) ], "legs": [ { object (RouteLeg) } ], "distanceMeters": integer, "duration": string, "routeLabels": [string], "staticDuration": string, "polyline": { object (Polyline) }, "description": string, "warnings": [ string ], "viewport": { object (Viewport) }, "travelAdvisory": { object (RouteTravelAdvisory) } "routeToken": string }
Aufgrund der aktuellen Verkehrsbedingungen und anderer Faktoren können die Standardroute und die verbrauchsarme Route identisch sein. In diesem Fall enthält das routeLabels-Array beide Labels: DEFAULT_ROUTE und FUEL_EFFICIENT.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Das Array „legs“
Jedes route in der Antwort enthält ein legs-Array, wobei jedes legs-Arrayelement vom Typ RouteLeg ist.
Jeder Abschnitt im Array definiert den Pfad von einem Wegpunkt zum nächsten Wegpunkt entlang der Route. Eine Route enthält immer mindestens einen Abschnitt.
Das Attribut legs enthält die Definition der einzelnen Schritte entlang des Abschnitts im Array steps. Die übrigen Attribute wie distanceMeters, duration und polyline enthalten Informationen zum Abschnitt.
{ "distanceMeters": integer, "duration": string, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "steps": [ { object (RouteLegStep) } ], "travelAdvisory": { object (RouteLegTravelAdvisory) } }
Das Array „steps“
Jeder Abschnitt in der Antwort enthält ein steps-Array, wobei jedes steps-Arrayelement vom Typ RouteLegStep ist.
Ein Schritt entspricht einer einzelnen Anweisung auf dem Abschnitt. Ein Abschnitt enthält immer mindestens einen Schritt.
Jedes Element im steps-Array enthält die Property navigationInstruction vom Typ NavigationInstruction, die die Schrittanleitung enthält. Beispiel:
"navigationInstruction": { "maneuver": "TURN_LEFT", "instructions": "Turn left toward Frontage Rd" }
Der instructions enthält möglicherweise zusätzliche Informationen zum Schritt. Beispiel:
"navigationInstruction": { "maneuver": "TURN_SLIGHT_LEFT", "instructions": "Slight left (signs for I-90 W/Worcester)nParts of this road may be closed at certain times or days" }
Die verbleibenden Properties im Schritt beschreiben Informationen zum Schritt, z. B. distanceMeters, duration und polyline:
{ "distanceMeters": integer, "staticDuration": string, "polyline": { object (Polyline) }, "startLocation": { object (Location) }, "endLocation": { object (Location) }, "navigationInstruction": { object (NavigationInstruction) } }
Sprache der Schrittanleitungen angeben
Die API gibt Routeninformationen in der Landessprache zurück, die bei Bedarf in eine für den Nutzer lesbare Schrift transkribiert wird, wobei die bevorzugte Sprache berücksichtigt wird. Adresskomponenten werden alle in derselben Sprache zurückgegeben.
Verwenden Sie den Parameter
languageCodeeiner Anfrage, um die Routensprache explizit aus der Liste der unterstützten Sprachen festzulegen. Die unterstützten Sprachen werden regelmäßig von Google aktualisiert, sodass diese Liste unter Umständen nicht vollständig ist.Wenn ein Name in der angegebenen Sprache nicht verfügbar ist, verwendet die API die am besten passende Entsprechung.
Die angegebene Sprache kann sich auf die von der API zurückgegebenen Ergebnisse und die Reihenfolge auswirken, in der sie zurückgegeben werden. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache gültig sind, in einer anderen jedoch nicht. Beispielsweise sind „utca“ und „tér“ im Ungarischen Synonyme für „Straße“.
Das Array „geocodingResults“
Für jeden Ort in der Anfrage (Start, Ziel oder Zwischenwegpunkt), der als Adressstring oder als Plus Code angegeben wurde, versucht die API, den relevantesten Ort mit einer entsprechenden Orts-ID zu finden. Jedes Element des Arrays geocodingResults enthält das Feld placeID mit dem Ort als Orts-ID und das Feld type mit dem Ortstyp, z. B. street_address, premise oder airport.
Das Array geocodingResults enthält drei Felder:
origin: Die Orts-ID des Startpunkts, wenn er als Adressstring oder Plus Code angegeben wurde. Andernfalls wird dieses Feld in der Antwort weggelassen.destination: Die Orts-ID des Ziels, wenn es als Adressstring oder Plus Code angegeben wurde. Andernfalls wird dieses Feld in der Antwort weggelassen.intermediates: Ein Array mit der Orts-ID aller Zwischenwegpunkte, die als Adressstring oder Plus Code angegeben sind. Wenn Sie einen Zwischenwegpunkt mit einer Orts-ID oder Längen- und Breitengraden angeben, wird er in der Antwort weggelassen. Anhand des AttributsintermediateWaypointRequestIndexin der Antwort können Sie feststellen, welcher Zwischenwegpunkt in der Anfrage der Orts-ID in der Antwort entspricht.
"geocodingResults": { "origin": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "destination": { "geocoderStatus": {}, "type": [ enum (Type) ], "placeId": string }, "intermediates": [ { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string }, { "geocoderStatus": {}, "intermediateWaypointRequestIndex": integer, "type": [ enum (Type) ], "placeId": string } ] }
Lokalisierte Antwortwerte verstehen
Lokalisierte Antwortwerte sind ein zusätzliches Antwortfeld, das lokalisierten Text für zurückgegebene Parameterwerte enthält. Für die Dauer, die Entfernung und das Einheitensystem (metrisch oder imperial) der Fahrt wird lokalisierter Text bereitgestellt. Sie fordern lokalisierte Werte mithilfe einer Feldmaske an und können entweder die Sprache und das Einheitensystem angeben oder die von der API abgeleiteten Werte verwenden. Weitere Informationen finden Sie unter LocalizedValues.
Wenn Sie beispielsweise den Sprachcode für Deutsch (de) und imperiale Einheiten angeben, erhalten Sie für distanceMeters den Wert 49889.7, aber auch lokalisierten Text, der diese Entfernungsmessung in Deutsch und imperialen Einheiten angibt, also „31 Meile“.
Hier ist ein Beispiel für lokalisierte Werte:
{ "localized_values":
{
"distance": { "text": "31,0 Meile/n" },
"duration": { "text": 38 Minuten}.
"static_duration": { "text": 36 Minuten}.
}
}Wenn Sie die Sprache oder das Einheitensystem nicht angeben, leitet die API die Sprache und die Einheiten so ab:
- Die Methode
ComputeRoutesleitet die Standort- und Entfernungseinheiten vom Startwegpunkt ab. Bei einer Routenanfrage in den USA leitet die API also die Spracheen-USund die EinheitenIMPERIALab. - Die Methode
ComputeRouteMatrixverwendet standardmäßig die Sprache „en-US“ und METRISCHE Einheiten.