Routenantwort prüfen

Wenn die Routes API eine Route berechnet, werden die Wegpunkte und Konfigurationsparameter verwendet, die Sie als Eingabe angeben. Die API gibt dann eine Antwort zurück, die die Standardroute und eine oder mehrere alternative Routen enthält.

Je nach den von Ihnen angeforderten Feldern kann Ihre Antwort verschiedene Routen- und andere Daten enthalten:

Um dies in die Antwort aufzunehmen Dokumentation ansehen
Die kraftstoff- oder energieeffizienteste Route basierend auf dem Motortyp des Fahrzeugs. Klimafreundliche Routen konfigurieren
Bis zu drei alternative Routen Alternative Routen anfordern
Polylinie für eine gesamte Route, für jeden Abschnitt einer Route und für jeden Schritt eines Abschnitts. Polylinien von Routen anfordern
Die geschätzten Mautgebühren unter Berücksichtigung aller Gebührenrabatte oder Pässe, die dem Fahrer oder Fahrzeug zur Verfügung stehen. Mautgebühren berechnen
Lokalisierte Antworten nach Sprachcodes und Maßeinheiten (imperial oder metrisches System). Lokalisierte Werte anfordern
Wenn du die Navigationsanweisungen als HTML-Textstring formatieren möchtest, füge 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 zur Auswahl der passenden Route für ihre Anforderungen benötigen.

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 auslassen, geben die Methoden einen Fehler zurück.

Die Beispiele in diesem Dokument zeigen das gesamte Antwortobjekt ohne Berücksichtigung von Feldmasken. 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.

Informationen zum Anzeigen von Urheberrechten

Beim Anzeigen der Ergebnisse für Ihre Nutzer müssen Sie die folgende Urheberrechtserklärung angeben:

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 wissen, aus welchen Komponenten eine Route besteht:

Route, Streckenabschnitt und Schritt

Ihre Antwort kann Informationen zu den folgenden Routenkomponenten enthalten:

  • Route: Die gesamte Fahrt vom Start-Wegpunkt über alle Zwischen-Wegpunkte bis zum Ziel-Wegpunkt. Eine Route besteht aus einem oder mehreren Abschnitten.

  • Leg: Der Pfad von einem Wegpunkt in einer Route zum nächsten Wegpunkt der Route. Jeder Abschnitt besteht aus einem oder mehreren Schritten.

    Eine Route enthält einen separaten Abschnitt für den Pfad von jedem Wegpunkt zum nächsten. Wenn die Route beispielsweise einen einzelnen Start-Wegpunkt und einen einzelnen Ziel-Wegpunkt enthält, enthält sie einen einzelnen Abschnitt. Für jeden weiteren Wegpunkt, den Sie der Route nach Start- und Zielort hinzufügen (als Zwischenwegpunkt bezeichnet), fügt die API einen separaten Abschnitt hinzu.

    Die API fügt für einen Passthrough-Wegpunkt keinen zusätzlichen Abschnitt hinzu. Beispiel: Eine Route mit einem Start- und einem Zwischenwegpunkt sowie einem Ziel-Wegpunkt umfasst nur einen Abschnitt vom Start- zum Zielort, der durch den Wegpunkt führt. Weitere Informationen zu Pass-Through-Wegpunkten finden Sie unter Pass-Through-Wegpunkte definieren.

  • Schritt: Eine einzelne Anweisung für einen Abschnitt einer Route. Ein Schritt ist die kleinste Einheit einer Route. Für einen Schritt kann beispielsweise „Auf der Hauptstraße links abbiegen“ angegeben werden.

Inhalt der Antwort

Das JSON-Objekt, das die API-Antwort darstellt, enthält die folgenden Attribute auf oberster Ebene:

  • routes ist ein Array von Elementen des Typs Route. Das routes-Array 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, ein Array von Elementen des Typs GeocodingResults. Für jeden Ort in der Anfrage (Start, Ziel oder Zwischenwegpunkt), den Sie als Adressstring oder 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 Breiten- und Längengrad angegeben werden, sind nicht enthalten. Wenn Sie alle Standorte mithilfe von Orts-IDs oder Breiten- und Längengradkoordinaten angegeben haben, wird dieses Array nicht angegeben.

  • fallbackInfo vom Typ FallbackInfo. Wenn die API nicht aus allen Eingabeeigenschaften eine Route berechnen kann, wird unter Umständen 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 das folgende Format:

{
  // 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 Array routes, 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. Diese wird als Standardroute bezeichnet.

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 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 spritsparende Route.
DEFAULT_ROUTE_ALTERNATE Indiziert eine alternative Route.

Das Array legs enthält die Definition jedes Abschnitts der Route. Die verbleibenden Attribute 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 Fahrbedingungen und anderer Faktoren können 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 legs-Array

Jedes route-Element 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 umfasst immer mindestens einen Abschnitt.

Das Attribut legs enthält die Definition der einzelnen Schritte entlang des Abschnitts im Array steps. 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)
  }
}

Informationen zum Array mit den Schritten

Jeder Abschnitt in der Antwort enthält ein steps-Array, wobei jedes steps-Arrayelement vom Typ RouteLegStep ist. Ein Schritt entspricht einer einzelnen Anweisung entlang des Streckenabschnitts. Ein Streckenabschnitt enthält immer mindestens einen Schritt.

Jedes Element im Array steps enthält das Attribut navigationInstruction vom Typ NavigationInstruction, das die Schrittanweisung 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 verbleibenden Attribute in diesem 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 Schrittanleitung angeben

Die API gibt Routeninformationen in der lokalen Sprache zurück, bei Bedarf unter Berücksichtigung der bevorzugten Sprache in ein für den Nutzer lesbares Skript umgewandelt. Alle Adresskomponenten werden 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 von Google häufig aktualisiert. Daher ist diese Liste unter Umständen 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 Menge der Ergebnisse, die von der API zurückgegeben werden, und die Reihenfolge beeinflussen, 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 jedoch nicht. Zum Beispiel sind utca und tér Synonyme für Straße auf Ungarisch.

Informationen zum Array „GeocodingResults“

Für jeden Ort in der Anfrage (Start, Ziel oder Zwischenwegpunkt), der als Adressstring oder Plus Code angegeben wurde, versucht die API, den relevantesten Ort mit einer entsprechenden Orts-ID zu finden. Jedes Element des geocodingResults-Arrays enthält das Feld placeID, das den Standort als Orts-ID enthält, und ein type-Feld, das den Standorttyp angibt, z. B. street_address, premise oder airport.

Das Array geocodingResults enthält drei Felder:

  • origin: Wenn der Ort als Adressstring oder als Plus Code angegeben wurde, die Orts-ID des Startorts. Andernfalls wird dieses Feld in der Antwort weggelassen.

  • destination: Wenn der Ort als Adressstring oder als Plus Code angegeben wurde, die Orts-ID des Ziels. Andernfalls wird dieses Feld in der Antwort weggelassen.

  • intermediates: ein Array mit der Orts-ID aller Wegpunkte, die als Adressstring oder Plus Code angegeben wurden Wenn Sie einen Zwischenwegpunkt mithilfe einer Orts-ID oder anhand von Breiten- und Längengradkoordinaten angeben, wird dieser in der Antwort weggelassen. Verwenden Sie das Attribut intermediateWaypointRequestIndex in der Antwort, um festzustellen, 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 Fahrtdauer, die Entfernung und das Einheitensystem (metrisches oder angloamerikanisches Maßeinheitensystem) wird lokalisierter Text bereitgestellt. Sie fordern mithilfe einer Feldmaske lokalisierte Werte an und geben entweder die Sprache und das Einheitensystem an oder verwenden die von der API abgeleiteten Werte. 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.Außerdem erhalten Sie lokalisierten Text, der die 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 weder die Sprache noch das Einheitensystem angeben, leitet die API die Sprache und die Einheiten so ab:

  • Die Methode ComputeRoutes leitet die Standort- und Entfernungseinheiten vom Ausgangs-Wegpunkt ab. Bei einer Routinganfrage in den USA leitet die API also die Sprache en-US und IMPERIAL-Einheiten ab.
  • Die Methode ComputeRouteMatrix wird standardmäßig auf „en-US“ und die METRIC-Einheiten eingestellt.