Routenantwort prüfen

Entwickler im Europäischen Wirtschaftsraum (EWR)

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:

Route, Abschnitt und Schritt.

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 Array routes 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 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.

  • fallbackInfo vom 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 languageCode einer 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 Attributs intermediateWaypointRequestIndex in 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 ComputeRoutes leitet die Standort- und Entfernungseinheiten vom Startwegpunkt ab. Bei einer Routenanfrage in den USA leitet die API also die Sprache en-US und die Einheiten IMPERIAL ab.
  • Die Methode ComputeRouteMatrix verwendet standardmäßig die Sprache „en-US“ und METRISCHE Einheiten.