Method: computeCustomRoutes

Anhand einer Reihe von Terminal- und Zwischen-Wegpunkten sowie eines Routenziels wird die beste Route für das Routenziel berechnet. Gibt auch die schnellste und die kürzeste Route als Referenzrouten 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 mit dem HTTP/gRPC-Header X-Goog-FieldMask bereitstellen. Weitere Informationen zu verfügbaren URL-Parametern und -Headern Der Wert ist eine durch Kommas getrennte Liste von Feldpfaden. Ausführliche Informationen finden Sie unter Feldpfade erstellen.

Zum Beispiel in dieser Methode:

  • Feldmaske aller verfügbaren Felder (für die manuelle Prüfung): X-Goog-FieldMask: *
  • Feldmaske mit Entfernungen, Dauer, Tokens und Mautinformationen: X-Goog-FieldMask: routes.route.distanceMeters,routes.route.duration,routes.token,routes.route.travelAdvisory.tollInfo

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

  • Indem Sie nur die Felder auswählen, die Sie benötigen, spart unser Server Berechnungszyklen, sodass wir das Ergebnis mit einer geringeren Latenz an Sie 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 fügen wir in Zukunft weitere Antwortfelder hinzu und diese neuen Felder erfordern möglicherweise zusätzliche Rechenzeit. 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 Felder auswählen, die Sie benötigen, führt dies zu einer kleineren Antwortgröße und damit zu einem höheren Netzwerkdurchsatz.

HTTP-Anfrage

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

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,
  "routeModifiers": {
    object (RouteModifiers)
  },
  "routeObjective": {
    object (RouteObjective)
  },
  "languageCode": string,
  "units": enum (Units)
}
Felder
origin

object (Waypoint)

Erforderlich. Ursprungswegpunkt.

destination

object (Waypoint)

Erforderlich. Zielwegpunkt.

intermediates[]

object (Waypoint)

Optional. Eine Gruppe von Wegpunkten entlang der Route (mit Ausnahme von Endpunkten), die an einem Zwischenstopp stehen oder an einem vorbeigehen. Es werden bis zu 25 Wegpunkte unterstützt.

travelMode

enum (RouteTravelMode)

Optional. Gibt die Mobilitätsform an. Derzeit wird nur DRIVE unterstützt.

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 zu einer sehr langen Latenz führt, wird ein Fehler zurückgegeben. Zukünftig implementieren wir eventuell einen Fallback-Mechanismus, mit dem eine andere Option verwendet wird, 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 für diesen Wert eine Zeit festlegen, die bereits eingetreten ist, schlägt die Anfrage fehl.

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

routeModifiers

object (RouteModifiers)

Optional. Eine Reihe von Bedingungen, die erfüllt sein müssen und sich auf die Berechnung der Routen auswirken.

routeObjective

object (RouteObjective)

Erforderlich. Ein Routenziel, für das optimiert werden soll.

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 Ort 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 Maßeinheiten, die für Route, Streckenabschnitt, Schrittstrecke und Dauer verwendet werden, sind von diesem Wert nicht betroffen. Wenn Sie diesen Wert nicht angeben, werden die Anzeigeeinheiten aus dem Standort der Anfrage abgeleitet.

Antworttext

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

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.