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 default-Route und mindestens eine alternative Route enthält.
Ihre Antwort kann je nach angefragten Feldern verschiedene Arten von Routen und andere Daten enthalten:
Um dies in die Antwort aufzunehmen | Weitere Informationen finden Sie in dieser Dokumentation. |
---|---|
Die Route mit dem niedrigsten Kraftstoff- oder Energieverbrauch, basierend auf dem Motortyp des Fahrzeugs. | Umweltfreundliche Routen konfigurieren |
Bis zu drei alternative Routen | Alternative Routen anfordern |
Die Polylinie für eine gesamte Route, für jede Etappe einer Route und für jeden Schritt einer Etappe. | Polylinien für Routen anfordern |
Die geschätzten Mautgebühren unter Berücksichtigung aller Mautpreisrabatte oder Mautkarten, die für den Fahrer oder das Fahrzeug verfügbar sind. | Mautgebühren berechnen |
Lokalisierte Antworten nach Sprachcodes und Maßeinheit (metrische oder angelsächsische/imperial). | Lokalisierte Werte anfordern |
Wenn Sie die Navigationsanleitung 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 Request-Body.
Mithilfe der Antwort können Sie Ihren Kunden die Informationen zur Verfügung stellen, die für die Auswahl der passenden Route für ihre Anforderungen erforderlich sind.
Feldmasken
Wenn Sie eine Methode zum Berechnen einer Route aufrufen, müssen Sie eine Feldmaske angeben, die festlegt, welche Felder in der Antwort zurückgegeben werden sollen. Es gibt keine Standardliste mit zurückgegebenen Feldern. Wenn Sie diese Liste weglassen, geben die Methoden einen Fehler zurück.
Die Beispiele in diesem Dokument zeigen das gesamte Antwortobjekt, ohne Feldmasken zu berücksichtigen. In einer Produktionsumgebung enthält die Antwort nur die Felder, die Sie in der Feldmaske explizit angeben.
Weitere Informationen finden Sie unter Zurückzugebende Informationen auswählen.
Urheberrechtshinweise
Wenn Sie den Nutzern die Ergebnisse anzeigen, müssen Sie die folgende Urheberrechtserklärung hinzufügen:
Powered by Google, ©YEAR Google
Beispiel:
Powered by Google, ©2023 Google
Routen, Streckenabschnitte und Schritte
Bevor Sie sich die von der Routes API zurückgegebene Antwort ansehen, sollten Sie mit den Komponenten einer Route vertraut sein:
Ihre Antwort kann Informationen zu jeder dieser Routenkomponenten enthalten:
Route: Die gesamte Fahrt vom Start-Wegpunkt über beliebige Zwischen-Wegpunkte bis zum Ziel-Wegpunkt. Eine Route besteht aus einem oder mehreren Abschnitten.
Abschnitt: Der Weg von einem Wegpunkt in einer Route zum nächsten Wegpunkt in der Route. Jeder Abschnitt besteht aus einem oder mehreren diskreten Schritten.
Eine Route enthält einen separaten Abschnitt für den Weg von jedem Wegpunkt zum nächsten. Enthält die Route beispielsweise jeweils einen Ursprungswegpunkt und einen Zielwegpunkt, dann enthält die Route einen einzelnen Streckenabschnitt. Für jeden zusätzlichen Wegpunkt, den Sie der Route nach dem Start- und Zielort hinzufügen, der als Zwischenwegpunkt bezeichnet wird, wird ein separater Abschnitt hinzugefügt.
Die API fügt keinen Abschnitt für einen Passthrough-Zwischenwegpunkt hinzu. Eine Route mit einem Start-, einem Zwischen- und einem Zielwegpunkt enthält beispielsweise nur einen Abschnitt vom Start- zum Zielort, der über den Wegpunkt führt. Weitere Informationen zu Passthrough-Wegpunkten finden Sie unter Passthrough-Wegpunkte definieren.
Schritt: eine einzelne Anweisung für einen Streckenabschnitt. Ein Schritt ist die kleinste Einheit einer Route. Ein Schritt kann beispielsweise „In der Hauptstraße links abbiegen“ lauten.
Inhalt der Antwort
Das JSON-Objekt, das die API-Antwort darstellt, enthält die folgenden Eigenschaften der obersten Ebene:
routes
ist ein Array von Elementen des Typs Route. Das Arrayroutes
enthä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 umweltfreundliche Route und bis zu drei alternative Routen.geocodingResults
ist ein Array von Elementen des Typs GeocodingResults. Für jeden Ort in der Anfrage (Start-, Ziel- oder Zwischenpunkt), den Sie als Adressenstring oder als Plus Code angegeben haben, führt die API eine Orts-ID-Suche durch. Jedes Element dieses Arrays enthält die Orts-ID eines Standorts. Standorte in der Anfrage, die als Orts-ID oder als Breiten-/Längengradkoordinaten angegeben sind, sind nicht enthalten. Wenn Sie alle Standorte mithilfe von Orts-IDs oder Breiten- und Längengradkoordinaten angegeben haben, ist dieses Array nicht verfügbar.fallbackInfo
vom Typ FallbackInfo. Wenn die API nicht in der Lage ist, eine Route aus allen Eingabeattributen zu berechnen, verwendet sie möglicherweise eine andere Berechnungsmethode. Wenn der Modus „Fallback“ verwendet wird, enthält dieses Feld detaillierte Informationen zur Fallback-Antwort. Andernfalls ist dieses Feld nicht festgelegt.
Die Antwort hat folgende Form:
{ // The routes array. "routes": [ { object (Route) } ], // The place ID lookup results. "geocodingResults": [ { object (GeocodedWaypoint) } ], // The fallback property. "fallbackInfo": { object (FallbackInfo) } }
array „routes“ entschlüsseln
Die Antwort enthält das routes
-Array, 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 spritsparende Route anfordern, kann das Array zwei Elemente enthalten: die Standardroute und die spritsparende Route. Alternativ kannst du in der Anfrage computeAlternativeRoutes
auf true
setzen, um der Antwort bis zu drei alternative Pfade hinzuzufügen.
Jede Route im Array wird mit der Array-Eigenschaft routeLabels
identifiziert:
Wert | Beschreibung |
---|---|
DEFAULT_ROUTE |
Kennzeichnet die Standardroute. |
FUEL_EFFICIENT |
Gibt die umweltfreundliche Route an. |
DEFAULT_ROUTE_ALTERNATE |
Indikiert eine alternative Route. |
Das Array legs
enthält die Definition jedes Abschnitts der Route. Die übrigen Properties wie distanceMeters
, duration
und polyline,
enthalten Informationen zur Route insgesamt:
{ "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 Fahrbedingungen und anderer Faktoren kann die Standardroute und die spritsparende Route identisch sein. In diesem Fall enthält das Array routeLabels
beide Labels: DEFAULT_ROUTE
und FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Informationen zum Array „legs“
Jede 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 jedes Schritts entlang des Abschnitts im Array steps
. Die übrigen Properties 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 der Schritte
Jeder Abschnitt in der Antwort enthält ein steps
-Array, wobei jedes steps
-Arrayelement vom Typ RouteLegStep ist.
Ein Schritt entspricht einer einzelnen Anweisung am Streckenabschnitt. 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
kann zusätzliche Informationen zum Schritt enthalten. 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 Attribute 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 für die Schrittanleitung angeben
Die API gibt Routeninformationen in der lokalen Sprache zurück, die bei Bedarf unter Berücksichtigung der bevorzugten Sprache in ein für den Nutzer lesbares Skript transliteriert werden. Adresskomponenten werden alle in derselben Sprache zurückgegeben.
Verwenden Sie den Parameter
languageCode
einer Anfrage, um die Sprache der Route explizit aus der Liste der unterstützten Sprachen festzulegen. Google aktualisiert die unterstützten Sprachen häufig. Daher ist diese Liste möglicherweise nicht vollständig.Wenn ein Name in der angegebenen Sprache nicht verfügbar ist, verwendet die API die beste Übereinstimmung.
Die angegebene Sprache kann die Ergebnisse, die von der API zurückgegeben werden, und die Reihenfolge, in der sie zurückgegeben werden, beeinflussen. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. Abkürzungen für Straßentypen oder Synonyme, die möglicherweise für eine Sprache gültig sind, für eine andere aber nicht. Zum Beispiel sind utca und tér Synonyme für Straße auf Ungarisch.
Informationen zum Array „GeocodingResults“
Für jeden Standort in der Anfrage (Start-, Zielort oder Zwischenwegpunkt), der als Adressstring oder als Plus Code angegeben wurde, versucht die API, den relevantesten Standort mit einer entsprechenden Orts-ID zu finden. Jedes Element des geocodingResults
-Arrays enthält das Feld placeID
mit dem Standort als Orts-ID und das Feld type
, das den Standorttyp angibt, z. B. street_address
, premise
oder airport
.
Das Array geocodingResults
enthält drei Felder:
origin
: Wenn es als Adressstring oder als Plus Code angegeben wurde, ist dies die Orts-ID des Ausgangsorts. Andernfalls wird dieses Feld aus der Antwort entfernt.destination
: Wenn es als Adressstring oder als Plus Code angegeben wurde, ist dies die Orts-ID des Zielorts. Andernfalls wird dieses Feld aus der Antwort entfernt.intermediates
: Ein Array, das die Orts-ID aller Wegpunkte enthält, die als Adressstring oder als Plus-Code angegeben sind. Wenn Sie einen Wegpunkt mithilfe einer Orts-ID oder Breiten- und Längengradkoordinaten angeben, wird er in der Antwort nicht berücksichtigt. Mit dem AttributintermediateWaypointRequestIndex
in der Antwort können Sie festlegen, welcher Wegpunkt 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 } ] }
Informationen zu lokalisierten Antwortwerten
Lokalisierte Antwortwerte sind ein zusätzliches Antwortfeld, das lokalisierten Text für zurückgegebene Parameterwerte enthält. Für Fahrtdauer, Entfernung und Maßeinheit (metrisches oder imperiales System) wird lokalisierter Text bereitgestellt. Sie fordern lokalisierte Werte mithilfe eines Feldmaskens an und können entweder die Sprache und das Maßsystem angeben oder die von der API abgeleiteten Werte verwenden. Weitere Informationen finden Sie unter LocalizedValues.
Wenn Sie beispielsweise einen Sprachcode für Deutsch (de) und imperiale Einheiten angeben, erhalten Sie für distanceMeters
den Wert 49889.7, aber auch lokalisierten Text mit dieser Entfernungsmessung in deutsch- und angloamerikanischen Einheiten, 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 weder die Sprache noch das Einheitensystem angeben, leitet die API die Sprache und die Einheiten so ab:
- Die
ComputeRoutes
-Methode leitet die Standort- und Entfernungseinheiten vom Startpunkt ab. Für eine Routinganfrage in den USA leitet die API also die Spracheen-US
undIMPERIAL
-Einheiten ab. - Die Standardsprache der
ComputeRouteMatrix
-Methode ist „en-US“ und die Standardeinheiten sind metrische Einheiten.