Method: computeRouteMatrix

Nimmt eine Liste von Start- und Zielorten entgegen und gibt einen Stream mit Routeninformationen für jede Kombination aus Start- und Zielort zurück.

HINWEIS:Für diese Methode müssen Sie in der Eingabe eine Antwortfeldmaske angeben. Sie können die Antwortfeldmaske mit dem URL-Parameter $fields oder fields oder mit dem HTTP-/gRPC-Header X-Goog-FieldMask angeben (siehe Verfügbare URL-Parameter und ‑Header). Der Wert ist eine durch Kommas getrennte Liste von Feldpfaden. In dieser ausführlichen Dokumentation erfahren Sie, wie Sie Feldpfade erstellen.

Beispiel für diese Methode:

  • Feldmaske aller verfügbaren Felder (für manuelle Prüfung): X-Goog-FieldMask: *
  • Feldmaske für Routendauer, -abstände, -status, -zustand und -indizes (Beispiel für eine Produktionskonfiguration): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Es ist wichtig, dass Sie status in Ihre Feldmaske aufnehmen, da andernfalls alle Nachrichten als fehlerfrei angezeigt werden. Google rät von der Verwendung des Platzhalters (*) in der Antwortfeldmaske ab, da:

  • Wenn Sie nur die benötigten Felder auswählen, kann unser Server Rechenzyklen einsparen. So können wir Ihnen das Ergebnis mit einer geringeren Latenz zurückgeben.
  • Wenn Sie nur die Felder auswählen, die Sie in Ihrem Produktionsjob benötigen, ist die Latenzleistung stabil. Wir werden möglicherweise in Zukunft weitere Antwortfelder hinzufügen. Diese neuen Felder erfordern möglicherweise zusätzliche Rechenzeit. Wenn Sie alle Felder oder alle Felder auf oberster Ebene auswählen, kann es zu Leistungseinbußen kommen, da jedes neue Feld, das wir hinzufügen, automatisch in die Antwort aufgenommen wird.
  • Wenn Sie nur die benötigten Felder auswählen, ist die Antwort kleiner und der Netzwerkdurchsatz höher.

HTTP-Anfrage

POST https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "origins": [
    {
      object (RouteMatrixOrigin)
    }
  ],
  "destinations": [
    {
      object (RouteMatrixDestination)
    }
  ],
  "travelMode": enum (RouteTravelMode),
  "routingPreference": enum (RoutingPreference),
  "departureTime": string,
  "arrivalTime": string,
  "languageCode": string,
  "regionCode": string,
  "units": enum (Units),
  "extraComputations": [
    enum (ExtraComputation)
  ],
  "trafficModel": enum (TrafficModel),
  "transitPreferences": {
    object (TransitPreferences)
  }
}
Felder
origins[]

object (RouteMatrixOrigin)

Erforderlich. Array mit Ursprüngen, das die Zeilen der Antwortmatrix bestimmt. Für die Kardinalität von Start- und Zielorten gelten mehrere Größenbeschränkungen:

  • Die Summe der Anzahl der Start- und Zielorte, die als placeId oder address angegeben sind, darf 50 nicht überschreiten.
  • Das Produkt aus der Anzahl der Start- und Zielorte darf auf keinen Fall größer als 625 sein.
  • Das Produkt aus der Anzahl der Start- und Zielorte darf 100 nicht überschreiten, wenn „routingPreference“ auf „TRAFFIC_AWARE_OPTIMAL“ festgelegt ist.
  • Das Produkt aus der Anzahl der Start- und Zielorte darf 100 nicht überschreiten, wenn „travelMode“ auf TRANSIT festgelegt ist.
destinations[]

object (RouteMatrixDestination)

Erforderlich. Array mit Zielen, das die Spalten der Antwortmatrix bestimmt.

travelMode

enum (RouteTravelMode)

Optional. Gibt die Mobilitätsform an.

routingPreference

enum (RoutingPreference)

Optional. Gibt an, wie die Route berechnet werden soll. Der Server versucht, die Route anhand der ausgewählten Routing-Einstellung zu berechnen. Wenn die Routing-Einstellung zu einem Fehler oder zu einer besonders langen Latenz führt, wird ein Fehler zurückgegeben. Diese Option kann nur angegeben werden, wenn travelMode den Wert DRIVE oder TWO_WHEELER hat. Andernfalls schlägt die Anfrage fehl.

departureTime

string (Timestamp format)

Optional. Die Abfahrtszeit. Wenn Sie diesen Wert nicht festlegen, wird standardmäßig die Uhrzeit festgelegt, zu der Sie die Anfrage gesendet haben. HINWEIS: Sie können nur dann ein departureTime in der Vergangenheit angeben, wenn RouteTravelMode auf TRANSIT gesetzt ist.

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".

arrivalTime

string (Timestamp format)

Optional. Die Ankunftszeit. HINWEIS: Kann nur festgelegt werden, wenn RouteTravelMode auf TRANSIT gesetzt ist. Sie können entweder departureTime oder arrivalTime angeben, aber nicht beide.

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".

languageCode

string

Optional. Der BCP-47-Sprachcode, z. B. "en-US" oder "sr-Latn" Weitere Informationen finden Sie unter Unicode-Sprachkennzeichnung. Eine Liste der unterstützten Sprachen finden Sie unter Sprachunterstützung. Wenn Sie diesen Wert nicht angeben, wird die Anzeigesprache aus dem Standort des ersten Ursprungs abgeleitet.

regionCode

string

Optional. Der Regionscode, angegeben als zweistelliger Ländercode der Top-Level-Domain (ccTLD). Weitere Informationen finden Sie unter Top-Level-Domains mit Landeskennzeichen.

units

enum (Units)

Optional. Gibt die Maßeinheiten für die Anzeigefelder an.

extraComputations[]

enum (ExtraComputation)

Optional. Eine Liste zusätzlicher Berechnungen, die zum Ausführen der Anfrage verwendet werden können. Hinweis: Diese zusätzlichen Berechnungen können zusätzliche Felder in der Antwort zurückgeben. Diese zusätzlichen Felder müssen auch in der Feldmaske angegeben werden, um in der Antwort zurückgegeben zu werden.

trafficModel

enum (TrafficModel)

Optional. Gibt die Annahmen an, die bei der Berechnung der Reisezeit verwendet werden sollen. Diese Einstellung wirkt sich auf den Wert für die voraussichtliche Reisezeit aus, der in der Antwort im Feld „Dauer“ zurückgegeben und anhand bisheriger Durchschnittswerte berechnet wird.RouteMatrixElement RoutingPreference nach TRAFFIC_AWARE_OPTIMAL und RouteTravelMode nach DRIVE. Der Standardwert ist BEST_GUESS, wenn der Traffic angefordert und TrafficModel nicht angegeben wurde.

transitPreferences

object (TransitPreferences)

Optional. Gibt Einstellungen an, die die für TRANSIT-Routen zurückgegebene Route beeinflussen. HINWEIS: Sie können nur dann eine transitPreferences angeben, wenn RouteTravelMode auf TRANSIT gesetzt ist.

Antworttext

Enthält Routeninformationen, die für ein Start-/Zielortpaar in der v2.computeRouteMatrix API berechnet wurden. Dieses Proto kann an den Client gestreamt werden.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "status": {
    object (Status)
  },
  "condition": enum (RouteMatrixElementCondition),
  "distanceMeters": integer,
  "duration": string,
  "staticDuration": string,
  "travelAdvisory": {
    object (RouteTravelAdvisory)
  },
  "fallbackInfo": {
    object (FallbackInfo)
  },
  "localizedValues": {
    object (LocalizedValues)
  },
  "originIndex": integer,
  "destinationIndex": integer
}
Felder
status

object (Status)

Fehlerstatuscode für dieses Element.

condition

enum (RouteMatrixElementCondition)

Gibt an, ob die Route gefunden wurde oder nicht. Unabhängig vom Status.

distanceMeters

integer

Die zurückgelegte Strecke der Route in Metern.

duration

string (Duration format)

Die Zeit, die für die Route benötigt wird. Wenn Sie routingPreference auf TRAFFIC_UNAWARE festlegen, ist dieser Wert mit staticDuration identisch. Wenn Sie routingPreference auf TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL festlegen, wird dieser Wert unter Berücksichtigung der Verkehrsbedingungen berechnet.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

staticDuration

string (Duration format)

Die Dauer der Fahrt auf der Route, ohne Berücksichtigung der Verkehrslage.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

travelAdvisory

object (RouteTravelAdvisory)

Zusätzliche Informationen zur Route. Beispiel: Informationen zu Einschränkungen und Mautgebühren

fallbackInfo

object (FallbackInfo)

Wenn der Server die Route mit den angegebenen Einstellungen für dieses bestimmte Start-/Zielortpaar nicht berechnen kann, wird möglicherweise ein anderer Berechnungsmodus verwendet. Wenn der Fallback-Modus verwendet wird, enthält dieses Feld detaillierte Informationen zur Fallback-Antwort. Andernfalls ist dieses Feld nicht festgelegt.

localizedValues

object (LocalizedValues)

Textdarstellungen von Properties der RouteMatrixElement.

originIndex

integer

Der nullbasierte Index des Ursprungs in der Anfrage.

destinationIndex

integer

Der nullbasierte Index des Ziels in der Anfrage.

RouteMatrixOrigin

Eine einzelne Quelle für ComputeRouteMatrixRequest

JSON-Darstellung
{
  "waypoint": {
    object (Waypoint)
  },
  "routeModifiers": {
    object (RouteModifiers)
  }
}
Felder
waypoint

object (Waypoint)

Erforderlich. Startpunkt

routeModifiers

object (RouteModifiers)

Optional. Modifikatoren für jede Route, die diesen als Startpunkt hat

RouteMatrixDestination

Ein einzelnes Ziel für ComputeRouteMatrixRequest

JSON-Darstellung
{
  "waypoint": {
    object (Waypoint)
  }
}
Felder
waypoint

object (Waypoint)

Erforderlich. Zielmarkierung

ExtraComputation

Zusätzliche Berechnungen, die beim Ausführen der Anfrage ausgeführt werden.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Nicht verwendet. Anfragen mit diesem Wert schlagen fehl.
TOLLS Informationen zu Maut für die Matrixelemente.

RouteMatrixElementCondition

Der Zustand der zurückgegebenen Route.

Enums
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Wird nur verwendet, wenn der status des Elements nicht in Ordnung ist.
ROUTE_EXISTS Eine Route wurde gefunden und die entsprechenden Informationen für das Element ausgefüllt.
ROUTE_NOT_FOUND Es konnte keine Route gefunden werden. Felder mit Routeninformationen wie distanceMeters oder duration werden im Element nicht ausgefüllt.

LocalizedValues

Textdarstellungen bestimmter Properties.

JSON-Darstellung
{
  "distance": {
    object (LocalizedText)
  },
  "duration": {
    object (LocalizedText)
  },
  "staticDuration": {
    object (LocalizedText)
  },
  "transitFare": {
    object (LocalizedText)
  }
}
Felder
distance

object (LocalizedText)

Die zurückgelegte Strecke in Textform.

duration

object (LocalizedText)

Die Dauer wird in Textform angegeben und berücksichtigt die Verkehrslage. Hinweis: Wenn keine Verkehrsinformationen angefordert wurden, entspricht dieser Wert dem Wert von „staticDuration“.

staticDuration

object (LocalizedText)

Die Dauer wird in Textform angegeben, ohne die Verkehrsbedingungen zu berücksichtigen.

transitFare

object (LocalizedText)

Preis für öffentliche Verkehrsmittel in Textform.