Routenantwort prüfen

Wenn die Routes API eine Route berechnet, verwendet sie die von Ihnen angegebenen Wegpunkte und Konfigurationsparameter als Eingabe. 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 Siehe diese Dokumentation
Die sprit- oder energieeffizienteste Route (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 von Rabatten auf Mautgebühren oder Pässen, 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 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.

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 definiert, welche Felder in der Antwort zurückgegeben werden sollen. Es gibt keine Standardliste mit zurückgegebenen Feldern. Wenn Sie diese Liste auslassen, geben die Methoden einen Fehler zurück.

Die Beispiele in diesem Dokument zeigen das gesamte Antwortobjekt, ohne Feldmasken zu berücksichtigen. In einer Produktionsumgebung würde Ihre Antwort nur die Felder enthalten, die Sie in der Feldmaske explizit angeben.

Weitere Informationen finden Sie unter Auswählen, welche Informationen zurückgegeben werden sollen.

Informationen zum Anzeigen von Urheberrechten

Wenn Sie Ihren Nutzern die Ergebnisse anzeigen, müssen Sie die folgenden Urheberrechtshinweise 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 mit den Komponenten einer Route vertraut sein:

Die Route, das Streckenabschnitt und der Schritt.

Ihre Antwort kann Informationen zu jeder der folgenden 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: Pfad von einem Wegpunkt auf einer Route zum nächsten Wegpunkt. Jeder Abschnitt besteht aus einem oder mehreren diskreten Schritten.

    Eine Route enthält einen separaten Abschnitt für den Pfad von jedem Wegpunkt zum nächsten. Wenn die Route beispielsweise einen Start- und einen Zielwegpunkt enthält, dann enthält sie einen einzelnen Streckenabschnitt. Für jeden zusätzlichen Wegpunkt, den Sie der Route nach Start- und Zielort hinzufügen, der als Zwischenwegpunkt bezeichnet wird, wird über die API ein separater Abschnitt hinzugefügt.

    Die API fügt keinen Abschnitt für einen Passthrough-Zwischenwegpunkt hinzu. Beispielsweise umfasst eine Route mit einem Ausgangs-Wegpunkt, einem Zwischenwegpunkt und einem Ziel-Wegpunkt nur einen Abschnitt vom Start- zum Zielort, während er durch 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. Beispielsweise könnte ein Schritt wie „Biegen Sie auf der Hauptstraße links ab“ angezeigt werden.

Inhalt der Antwort

Das JSON-Objekt, das die API-Antwort darstellt, enthält die folgenden übergeordneten Attribute:

  • routes ist ein Array von Elementen des Typs Route. Das Array routes enthält ein Element für jede von der API zurückgegebene Route. Das Array kann maximal fünf Elemente enthalten: die Standardroute, die spritsparende Route und bis zu drei alternative Routen.

  • geocodingResults ist ein Array von Elementen des Typs GeocodingResults. Für jeden Ort in der Anfrage (Start-, Zielort 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 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ä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 Fallback-Modus 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)
  }
}

Routen-Array 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, die als Standardroute bezeichnet wird.

Sie können zusätzliche Routen anfordern. Wenn Sie eine umweltfreundliche 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 Kennzeichnet die spritsparende Route.
DEFAULT_ROUTE_ALTERNATE gibt eine alternative Route an.

Das Array legs enthält die Definition jedes Abschnitts der Route. Die verbleibenden Attribute wie distanceMeters, duration und polyline, enthalten Informationen zur Route als Ganzes:

{
  "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 besteht immer aus mindestens einem Abschnitt.

Das Attribut legs enthält die Definition jedes Schritts 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)
  }
}

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 entlang des Abschnitts. Ein Streckenabschnitt enthält immer mindestens einen Schritt.

Jedes Element im steps-Array 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 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. Alle Adresskomponenten werden in derselben Sprache zurückgegeben.

  • Mit dem Parameter languageCode einer Anfrage können Sie die Routensprache explizit aus der Liste der unterstützten Sprachen festlegen. Google aktualisiert die unterstützten Sprachen häufig. Daher ist diese Liste möglicherweise nicht vollständig.

  • Wenn in der angegebenen Sprache kein Name verfügbar ist, verwendet die API die genaueste Ü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 jedoch 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 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 in der Antwort weggelassen.

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

  • 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 Attribut intermediateWaypointRequestIndex 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 die Fahrtdauer, die Strecke und das Einheitensystem (metrisches oder angloamerikanisches Einheitensystem) 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 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 Methode ComputeRoutes leitet die Einheiten für Standort und Entfernung vom Ausgangswegpunkt ab. Für eine Routinganfrage in den USA leitet die API also die Sprache en-US und IMPERIAL-Einheiten ab.
  • Die Methode ComputeRouteMatrix verwendet standardmäßig die Sprache „en-US“ und METRIC-Einheiten.