Routenantwort prüfen

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:

Route, Etappe und Schritt

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 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 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 Attribut intermediateWaypointRequestIndex 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 Sprache en-US und die Einheiten IMPERIAL ab.
  • Die Standardsprache der ComputeRouteMatrix-Methode ist „en-US“ und die Standardeinheiten sind metrische Einheiten.