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 angeforderten Feldern verschiedene Arten von Routen und andere Daten enthalten:
So fügen Sie diese Informationen in die Antwort ein: | Weitere Informationen finden Sie in dieser Dokumentation. |
---|---|
Die Route mit dem niedrigsten Kraftstoff- oder Energieverbrauch, basierend auf dem Motortyp des Fahrzeugs. | Energiesparende Routen 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 aller Mautpreisrabatte oder Mautkarten, die für den Fahrer oder das Fahrzeug verfügbar sind. | Mautgebühren berechnen |
Lokalisierte Antworten nach Sprachcodes und Maßeinheiten (imperial oder metrik). | 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 im Anfragetext.
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 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 dargestellt. 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, Abschnitte und Schritte
Bevor Sie sich die von der Routes API zurückgegebene Antwort ansehen, sollten Sie die Komponenten einer Route kennen:
Ihre Antwort kann Informationen zu jeder dieser Routenkomponenten enthalten:
Route: Die gesamte Fahrt vom Start- über alle Zwischen- bis zum Zielwegpunkt. Eine Route besteht aus einem oder mehreren Abschnitten.
Abschnitt: Pfad von einem Wegpunkt auf einer Route zum nächsten Wegpunkt. Jedes Teil besteht aus einem oder mehreren einzelnen Schritten.
Eine Route enthält einen separaten Abschnitt für den Weg von jedem Wegpunkt zum nächsten. Wenn die Route beispielsweise einen Start- und einen Ziel-Wegpunkt enthält, besteht sie aus einer einzigen Teilstrecke. Für jeden zusätzlichen Wegpunkt, den Sie der Route nach dem Start- und Zielort hinzufügen, also einen Zwischenpunkt, fügt die API einen separaten Abschnitt hinzu.
Die API fügt für einen Zwischenwegpunkt vom Typ Durchfahrt kein Teilstück 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 Durchfahrtspunkten finden Sie unter Durchfahrtspunkt definieren.
Schritt: Eine einzelne Anweisung auf dem Abschnitt einer Route. 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
: ein Array von Elementen vom Typ 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 spritsparende Route und bis zu drei alternative Routen.geocodingResults
, ein Array von Elementen vom Typ 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. In der Anfrage angegebene Orte, die als Orts-ID oder Breiten- und Längengradkoordinaten angegeben sind, sind nicht enthalten. Wenn Sie alle Standorte mithilfe von Orts-IDs oder Breiten- und Längengraden angegeben haben, wird dieses Array nicht bereitgestellt.fallbackInfo
vom Typ FallbackInfo. Wenn die API keine Route aus allen Eingabeeigenschaften berechnen kann, wird möglicherweise eine andere Berechnungsmethode verwendet. Wenn der Modus „Fallback“ 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 routes
-Array, wobei jedes Arrayelement vom Typ Route ist.
Jedes Array-Element stellt eine gesamte 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 können Sie in der Anfrage computeAlternativeRoutes
auf true
setzen, um der Antwort bis zu drei alternative Routen hinzuzufügen.
Jede Route im Array wird durch das Arrayattribut routeLabels
identifiziert:
Wert | Beschreibung |
---|---|
DEFAULT_ROUTE |
Kennzeichnet die Standardroute. |
FUEL_EFFICIENT |
Gibt die umweltfreundliche Route an. |
DEFAULT_ROUTE_ALTERNATE |
Indikiert eine alternative Route. |
Das legs
-Array 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 Verkehrsbedingungen und anderer Faktoren können die Standardroute und die umweltfreundliche Route identisch sein. In diesem Fall enthält das Array routeLabels
beide Labels: DEFAULT_ROUTE
und FUEL_EFFICIENT
.
{ "routes": [ { "routeLabels": [ "DEFAULT_ROUTE", "FUEL_EFFICIENT" ], … } ] }
Das „legs“-Array
Jede route
in der Antwort enthält ein legs
-Array, wobei jedes legs
-Arrayelement vom Typ RouteLeg ist.
Jeder Abschnitt im Array definiert den Weg von einem Wegpunkt zum nächsten entlang der Route. Eine Route enthält immer mindestens einen Abschnitt.
Die Eigenschaft legs
enthält die Definition der einzelnen Schritte entlang des Abschnitts im steps
-Array. Die verbleibenden 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) } }
Array „steps“
Jede Etappe in der Antwort enthält ein steps
-Array, wobei jedes steps
-Arrayelement vom Typ RouteLegStep ist.
Ein Schritt entspricht einer einzelnen Anweisung entlang des Beins. 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" }
instructions
enthält möglicherweise zusätzliche Informationen zu dem 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 restlichen 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 Schritt-für-Schritt-Anleitung angeben
Die API gibt Routeninformationen in der jeweiligen Sprache zurück, die bei Bedarf in ein für den Nutzer lesbares Schriftsystem transkribiert werden, wobei die bevorzugte Sprache berücksichtigt wird. 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 sich auf die Ergebnisse auswirken, die von der API zurückgegeben werden, und auf die Reihenfolge, 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 sein können, in einer anderen aber nicht. Beispielsweise sind „utca“ und „tér“ Synonyme für „Straße“ auf Ungarisch.
Informationen zum Array „GeocodingResults“
Für jeden Standort in der Anfrage (Start-, Ziel- oder Zwischenpunkt), der als Adressenstring oder als Plus Code angegeben wurde, versucht die API, den relevantesten Standort 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 geocodingResults
-Array enthält drei Felder:
origin
: Wenn die Adresse als Adressstring oder als Plus-Code angegeben wurde, die Orts-ID des Ursprungs. Andernfalls wird dieses Feld aus der Antwort entfernt.destination
: Wenn es als Adressstring oder als Pluscode angegeben wurde, die Orts-ID des Ziels. Andernfalls wird dieses Feld aus der Antwort entfernt.intermediates
: Ein Array mit der Orts-ID aller Zwischenziele, die als Adressstring oder Plus-Code angegeben sind. Wenn Sie einen Zwischenwegpunkt mit einer Orts-ID oder Breiten- und Längengradkoordinaten angeben, wird er aus der Antwort entfernt. Verwenden Sie das AttributintermediateWaypointRequestIndex
in der Antwort, um zu ermitteln, welcher Zwischenpunkt 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
Lokalisierte Antwortwerte sind ein zusätzliches Antwortfeld, das lokalisierten Text für zurückgegebene Parameterwerte enthält. Für die Fahrtdauer, die Strecke und das Einheitensystem (metrisch oder imperial) 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 die Sprache oder das Maßsystem nicht 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
und die EinheitenIMPERIAL
ab. - Die Standardsprache der
ComputeRouteMatrix
-Methode ist „en-US“ und die Standardeinheiten sind metrische Einheiten.