Method: computeRoutes

Gibt die primäre Route zusammen mit optionalen alternativen Routen für einen Satz von Terminal- und Zwischen-Wegpunkten zurück.

HINWEIS:Bei dieser Methode müssen Sie in der Eingabe eine Antwortfeldmaske angeben. Sie können die Antwortfeldmaske mithilfe des URL-Parameters $fields oder fields oder mithilfe eines HTTP/gRPC-Headers X-Goog-FieldMask angeben. Weitere Informationen zu verfügbaren URL-Parametern und Headern Der Wert ist eine durch Kommas getrennte Liste von Feldpfaden. Weitere Informationen finden Sie in der Dokumentation zum Erstellen der Feldpfade.

Beispiel:

  • Feldmaske aller verfügbaren Felder (zur manuellen Überprüfung): X-Goog-FieldMask: *
  • Feldmaske mit Dauer, Entfernung und Polylinie auf Routenebene (Beispiel für eine Produktionseinrichtung): X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.polyline.encodedPolyline

Google rät davon ab, die Platzhalterantwortfeldmaske (*) zu verwenden oder die Feldmaske auf oberster Ebene (routes) anzugeben, weil:

  • Wenn Sie nur die Felder auswählen, die Sie benötigen, spart unser Server Rechenzyklen, sodass wir Ihnen das Ergebnis mit einer geringeren Latenz zurückgeben können.
  • Wenn Sie nur die Felder auswählen, die Sie für Ihren Produktionsjob benötigen, wird eine stabile Latenzleistung sichergestellt. Möglicherweise werden in Zukunft weitere Antwortfelder hinzugefügt, die möglicherweise zusätzliche Rechenzeit erfordern. Wenn Sie alle Felder oder alle Felder auf der obersten Ebene auswählen, kann es zu Leistungseinbußen kommen, da jedes neu hinzugefügte Feld automatisch in die Antwort aufgenommen wird.
  • Wenn Sie nur die benötigten Felder auswählen, verringert sich die Antwortgröße und damit der Netzwerkdurchsatz.

HTTP-Anfrage

POST https://routespreferred.googleapis.com/v1:computeRoutes

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "origin": {
    object (Waypoint)
  },
  "destination": {
    object (Waypoint)
  },
  "intermediates": [
    {
      object (Waypoint)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "polylineQuality": enum (PolylineQuality),
  "polylineEncoding": enum (PolylineEncoding),
  "departureTime": string,
  "computeAlternativeRoutes": boolean,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "languageCode": string,
  "units": enum (Units),
  "optimizeWaypointOrder": boolean
}
Felder
origin

object (Waypoint)

Erforderlich. Wegpunkt des Ursprungsortes

destination

object (Waypoint)

Erforderlich. Wegpunkt des Ziels.

intermediates[]

object (Waypoint)

Optional. Gruppe von Wegpunkten entlang der Route (ohne Endpunktpunkte), um an einem Ort zu bleiben oder vorbeizufahren. Es werden bis zu 25 Wegpunkte unterstützt.

travelMode

enum (RouteTravelMode)

Optional. Gibt die Mobilitätsform an.

routingPreference

enum (RoutingPreference)

Optional. Gibt an, wie die Route berechnet wird. Der Server versucht, die Route anhand der ausgewählten Routingeinstellung zu berechnen. Wenn die Routingeinstellung zu einem Fehler oder einer extrem langen Latenz führt, wird ein Fehler zurückgegeben. In Zukunft werden wir möglicherweise einen Fallback-Mechanismus implementieren, um eine andere Option zu verwenden, wenn die bevorzugte Option kein gültiges Ergebnis liefert. Sie können diese Option nur angeben, wenn travelMode den Wert DRIVE oder TWO_WHEELER hat. Andernfalls schlägt die Anfrage fehl.

polylineQuality

enum (PolylineQuality)

Optional. Gibt die Qualität der Polylinie an.

polylineEncoding

enum (PolylineEncoding)

Optional. Gibt die bevorzugte Codierung für die Polylinie an.

departureTime

string (Timestamp format)

Optional. Die Abfahrtszeit. Wenn Sie diesen Wert nicht festlegen, wird standardmäßig der Zeitpunkt der Anfrage verwendet. Wenn Sie diesen Wert auf eine bereits vergangene Zeit festlegen, schlägt die Anfrage fehl.

Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

computeAlternativeRoutes

boolean

Gibt an, ob zusätzlich zur Route alternative Routen berechnet werden sollen.

routeModifiers

object (RouteModifiers)

Optional. Eine Reihe von Bedingungen, die erfüllt sein müssen und die die Art und Weise beeinflussen, wie Routen berechnet werden.

languageCode

string

Optional. Der BCP-47-Sprachcode, z. B. „en-US“ oder „sr-Latn“. Weitere Informationen finden Sie unter http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. Eine Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung. Wenn Sie diesen Wert nicht angeben, wird die Anzeigesprache aus dem Standort der Routenanfrage abgeleitet.

units

enum (Units)

Optional. Gibt die Maßeinheiten für die Anzeigefelder an. Dazu gehört auch das Feld instruction in NavigationInstruction. Die für die Route, Streckenabschnitt, Schrittstrecke und Dauer verwendeten Maßeinheiten werden von diesem Wert nicht beeinflusst. Wenn Sie diesen Wert nicht angeben, werden die Anzeigeeinheiten vom Standort der Anfrage abgeleitet.

optimizeWaypointOrder

boolean

Ist „optimizeWaypointOrder“ auf „true“ gesetzt, wird versucht, die angegebenen Wegpunkte neu anzuordnen, um die Gesamtkosten der Route zu minimieren. Wenn einer der Wegpunkte über einen Wegpunkt liegt, schlägt die Anfrage fehl. Verwenden Sie ComputeRoutesResponse.Routes.Optimized_intermediate_waypoint_index, um die neue Reihenfolge zu finden. Wenn „routes.Optimized_intermediate_waypoint_index“ nicht im Header X-Goog-FieldMask angefordert wird, schlägt die Anfrage fehl. Wenn optimWaypointOrder auf "false" gesetzt ist, ist ComputeRoutesResponse.Optimized_intermediate_waypoint_index leer.

Antworttext

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von ComputeRoutesResponse.

Autorisierungsbereiche

Erfordert den folgenden OAuth-Bereich:

  • https://www.googleapis.com/auth/maps-platform.routespreferred

Weitere Informationen finden Sie in der Übersicht über OAuth 2.0.