Method: computeRouteMatrix

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

HINWEIS:Bei dieser Methode müssen Sie in der Eingabe eine Antwortfeldmaske angeben. Sie können die Antwortfeldmaske mit dem URL-Parameter $fields oder fields oder mithilfe des 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. Ausführliche Informationen zum Erstellen der Feldpfade finden Sie in dieser Dokumentation.

Beispiel:

  • Feldmaske aller verfügbaren Felder (zur manuellen Überprüfung): X-Goog-FieldMask: *
  • Feldmaske mit Routendauer, Entfernungen, Elementstatus, Bedingung und Elementindexen (Beispiel für eine Produktionseinrichtung): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Es ist wichtig, dass Sie status in Ihre Feldmaske aufnehmen, da sonst alle Nachrichten als OK erscheinen. Google rät von der Verwendung der Platzhalterantwortfeldmaske (*) ab, und zwar aus folgenden Gründen:

  • 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 in Ihrem 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://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 von Ursprüngen, das die Zeilen der Antwortmatrix bestimmt. Für die Kardinalität von Start- und Zielorten gelten mehrere Größenbeschränkungen:

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

object (RouteMatrixDestination)

Erforderlich. Array von 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 ausgewählte Routingeinstellung zur Berechnung der Route zu verwenden. Wenn die Routingeinstellung zu einem Fehler oder zu einer extrem langen Latenz führt, wird ein Fehler zurückgegeben. Sie können diese Option nur angeben, 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 der Zeitpunkt der Anfrage verwendet. HINWEIS: Du kannst ein departureTime in der Vergangenheit nur angeben, wenn RouteTravelMode auf TRANSIT festgelegt ist.

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

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

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

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 Sprache der Benutzeroberfläche vom Standort des ersten Ursprungs abgeleitet.

regionCode

string

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

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 geben möglicherweise zusätzliche Felder für die Antwort zurück. Diese zusätzlichen Felder müssen auch in der Feldmaske angegeben werden, damit sie in der Antwort zurückgegeben 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 aus, der im Feld für die Dauer in RouteMatrixElement zurückgegeben wird. Es enthält die vorhergesagte Reisezeit basierend auf den bisherigen Durchschnittswerten. RoutingPreference zu TRAFFIC_AWARE_OPTIMAL und RouteTravelMode zu DRIVE. Wenn Traffic angefordert und TrafficModel nicht angegeben wird, wird standardmäßig BEST_GUESS verwendet.

transitPreferences

object (TransitPreferences)

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

Antworttext

Enthält Routeninformationen, die in der v2.computeRouteMatrix API für ein Ursprungs-/Zielpaar 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 Entfernung der Route in Metern.

duration

string (Duration format)

Die für die Navigation auf der Route erforderliche Zeit. Wenn Sie routingPreference auf TRAFFIC_UNAWARE festlegen, ist dieser Wert mit staticDuration identisch. Wenn Sie für routingPreference entweder TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL festlegen, wird bei der Berechnung dieses Werts die Verkehrslage berücksichtigt.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. Beispiel: "3.5s".

staticDuration

string (Duration format)

Die Reisezeit auf der Route ohne Berücksichtigung der Verkehrslage.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. 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 Präferenzen für dieses spezielle Start-/Zielpaar nicht berechnen kann, verwendet er in einigen Fällen eventuell einen anderen Berechnungsmodus. 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 Attributen von RouteMatrixElement.

originIndex

integer

Nullbasierter Index des Ursprungs in der Anfrage.

destinationIndex

integer

Nullbasierter Index des Ziels in der Anfrage.

RouteMatrixOrigin

Ein einzelner Ursprung für ComputeRouteMatrixRequest

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

object (Waypoint)

Erforderlich. Wegpunkt des Startorts

routeModifiers

object (RouteModifiers)

Optional. Modifikatoren für jede Route, die diese als Startpunkt verwendet

RouteMatrixDestination

Ein einzelnes Ziel für ComputeRouteMatrixRequest

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

object (Waypoint)

Erforderlich. Wegpunkt des Ziels

ExtraComputation

Zusätzliche Berechnungen, die während der Ausführung der Anfrage ausgeführt werden müssen.

Enums
EXTRA_COMPUTATION_UNSPECIFIED Nicht verwendet. Anfragen, die diesen Wert enthalten, schlagen fehl.
TOLLS Mautinformationen für die Matrixelemente.

RouteMatrixElementCondition

Der Zustand der Route, die zurückgegeben wird.

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

LocalizedValues

Textdarstellungen bestimmter Attribute.

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

object (LocalizedText)

Entfernung in Textform.

duration

object (LocalizedText)

Dauer in Textform unter Berücksichtigung der Verkehrslage. Hinweis: Wenn keine Verkehrsinformationen angefordert wurden, ist dieser Wert derselbe Wert wie staticDuration.

staticDuration

object (LocalizedText)

Dauer in Textform ohne Berücksichtigung der Verkehrslage.

transitFare

object (LocalizedText)

Fahrpreis in Textform.