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.

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

So fügen Sie dies in die Antwort ein Siehe diese Dokumentation
Die kraftstoff- oder energieeffizienteste Route basierend auf dem Motortyp des Fahrzeugs. Umweltfreundliche 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. Routenpolylinien anfordern
Die geschätzten Mautgebühren unter Berücksichtigung aller Mautrabatte oder -pässe, die dem Fahrer oder Fahrzeug zur Verfügung stehen. Mautgebühren berechnen
Lokalisierte Antworten nach Sprachcodes und Maßeinheit (US-amerikanische imperiale Einheiten oder metrisches System). 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

Die vollständige Liste der Eingabeoptionen finden Sie unter Verfügbare Routenoptionen und Anfragetext.

Anhand der Antwort können Sie Ihren Kunden die Informationen zur Verfügung stellen, die sie benötigen, um die passende Route für ihre Anforderungen 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 enthält Ihre Antwort nur die Felder, die Sie explizit in der Feldmaske angeben.

Weitere Informationen finden Sie unter Auszuwählende Informationen.

Urheberrechtsvermerke anzeigen

Sie müssen die folgende Urheberrechtserklärung einfügen, wenn Sie Ihren Nutzern die Ergebnisse anzeigen:

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 kennen, aus denen eine Route besteht:

Die Route, die Etappe und der Schritt.

Ihre Antwort kann Informationen zu jeder dieser Routenkomponenten enthalten:

  • Route: Die gesamte Fahrt vom Startwegpunkt über alle Zwischenwegpunkte zum Zielwegpunkt. Eine Route besteht aus einem oder mehreren Abschnitten.

  • Abschnitt: Der Weg von einem Wegpunkt in einer Route zum nächsten Wegpunkt in der Route. Jeder Abschnitt 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 Zielwegpunkt enthält, besteht sie aus einem einzigen Abschnitt. Für jeden zusätzlichen Wegpunkt, den Sie der Route nach dem Start- und Zielwegpunkt hinzufügen, ein sogenannter Zwischenwegpunkt, fügt die API einen separaten Abschnitt hinzu.

    Die API fügt keinen Abschnitt für einen Durchgangs-Zwischenwegpunkt hinzu. Eine Route, die einen Startwegpunkt, einen Durchgangs-Zwischenwegpunkt und einen Zielwegpunkt enthält, besteht beispielsweise nur aus einem Abschnitt vom Start- zum Zielwegpunkt, wobei der Zwischenwegpunkt durchfahren wird. Weitere Informationen zu Durchgangs-Wegpunkten finden Sie unter Durchgangs-Wegpunkt definieren.

  • Schritt: Eine einzelne Anweisung entlang des Abschnitts einer Route. Ein Schritt ist die kleinste Einheit einer Route. Ein Schritt kann beispielsweise „Links abbiegen in die Hauptstraße“ lauten.

Inhalt der Antwort

Das JSON-Objekt das die API-Antwort darstellt, enthält die folgenden Eigenschaften der obersten Ebene:

  • routes, ein Array mit Elementen vom Typ 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 umweltfreundliche Route und bis zu drei alternative Routen.

  • geocodingResults, ein Array mit Elementen vom Typ GeocodingResults. Für jeden Ort in der Anfrage (Start-, Ziel- oder Zwischen wegpunkt), 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 Ort entspricht. Orte in der Anfrage, die als Orts-ID oder als Breiten-/Längengradkoordinaten angegeben wurden, sind nicht enthalten. Wenn Sie alle Orte mit Orts-IDs oder Breiten- und Längengradkoordinaten angegeben haben, wird dieses Array nicht bereitgestellt.

  • fallbackInfo vom Typ FallbackInfo. Wenn die API keine Route aus allen Eingabeattributen berechnen kann, kann sie auf eine andere Berechnungsmethode zurückgreifen. 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)
  }
}

Das Array „routes“ entschlüsseln

Die Antwort enthält das routes Array, wobei jedes Array-Element 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 umweltfreundliche 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 mit der Array-Eigenschaft routeLabels identifiziert:

Wert Beschreibung
DEFAULT_ROUTE Kennzeichnet die Standardroute.
FUEL_EFFICIENT Kennzeichnet die umweltfreundliche Route.
DEFAULT_ROUTE_ALTERNATE Gibt eine alternative Route an.

Das Array legs enthält die Definition der einzelnen Abschnitte der Route. Die übrigen Eigenschaften 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 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 Array „legs“ verstehen

Jede route in der Antwort enthält ein legs Array, wobei jedes legs Array Element vom Typ RouteLeg ist. Jeder Abschnitt im Array definiert den Weg von einem Wegpunkt zum nächsten Wegpunkt 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 Array steps. Die übrigen Eigenschaften 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“ verstehen

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

Jedes Element im steps Array enthält die navigationInstruction Eigenschaft vom Typ NavigationInstruction, die die Schrittanweisung enthält. Beispiel:

"navigationInstruction": {
  "maneuver": "TURN_LEFT",
  "instructions": "Turn left toward Frontage Rd"
}

Die instructions können zusätzliche Informationen zum Schritt enthalten. 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 übrigen Eigenschaften 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 Schrittanweisungen angeben

Die API gibt Routeninformationen in der lokalen Sprache zurück, die bei Bedarf in ein für den Nutzer lesbares Skript transliteriert wird, wobei die bevorzugte Sprache berücksichtigt wird. Adresskomponenten werden alle in derselben Sprache zurückgegeben.

  • Mit dem languageCode Parameter einer Anfrage können Sie die Routensprache explizit aus der Liste der unterstützten Sprachen festlegen. 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 nächstbeste Übereinstimmung.

  • Die angegebene Sprache kann sich auf die Menge der Ergebnisse auswirken, die die API zurückgibt, und auf die Reihenfolge, in der sie zurückgegeben werden. Der Geocoder interpretiert Abkürzungen je nach Sprache unterschiedlich, z. B. die Abkürzungen für Straßentypen oder Synonyme, die in einer Sprache gültig sein können, in einer anderen jedoch nicht. „utca“ und „tér“ sind beispielsweise Synonyme für „Straße“ auf Ungarisch.

Das Array „geocodingResults“ verstehen

Für jeden Ort in der Anfrage (Start-, Ziel- oder Zwischen wegpunkt), 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 geocodingResults Arrays enthält das Feld placeID mit dem Ort als Orts-ID und ein Feld type, das den Ortstyp angibt, z. B. street_address, premise oder airport.

Das Array geocodingResults enthält drei Felder:

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

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

  • intermediates: Ein Array mit der Orts-ID aller Zwischenwegpunkte, die als Adressstring oder als Plus Code angegeben wurden. Wenn Sie einen Zwischenwegpunkt mit einer Orts-ID oder Breiten- und Längengradkoordinaten angeben, wird er aus der Antwort weggelassen. Mit der Eigenschaft intermediateWaypointRequestIndex in der Antwort können Sie ermitteln, 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. Lokalisierter Text wird für die Fahrtzeit, die Entfernung und das Einheitensystem (metrisch oder US-amerikanische imperiale Einheiten) bereitgestellt. Sie fordern lokalisierte Werte mit 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 US-amerikanische imperiale Einheiten angeben, erhalten Sie einen Wert für distanceMeters von 49889,7, aber auch lokalisierten Text, der diese Entfernung in Deutsch und US-amerikanischen imperialen Einheiten angibt, also „31 Meilen“.

Hier 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 ComputeRoutes Methode leitet die Orts- und Entfernung Einheiten vom Startwegpunkt ab. Bei einer Routenanfrage in den USA leitet die API die Sprache en-US und die Einheiten IMPERIAL ab.
  • Die Methode ComputeRouteMatrix verwendet standardmäßig die Sprache „en-US“ und die Einheiten „METRIC“.