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 mit dem HTTP-/gRPC-Header 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 diesem Artikel.

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 Produktionskonfiguration): X-Goog-FieldMask: originIndex,destinationIndex,status,condition,distanceMeters,duration

Es ist wichtig, dass Sie status in Ihre Feldmaske aufnehmen, da sonst alle Nachrichten in Ordnung zu sein scheinen. Google rät von der Verwendung der Platzhalterantwortfeldmaske (*) ab, da:

  • 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://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,
  "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 der Anzahl der Startorte + der Anzahl der Zielorte, die als placeId oder address angegeben sind, darf nicht größer als 50 sein.
  • Das Produkt aus Anzahl der Abflugorte × Anzahl der Zielorte darf in jedem Fall nicht größer als 625 sein.
  • Das Produkt aus Anzahl der Startorte × Anzahl der Ziele darf nicht größer als 100 sein, wenn „routingPreferred“ auf TRAFFIC_AWARE_OPTIMAL gesetzt ist.
  • Das Produkt aus Anzahl der Startorte × Anzahl der Ziele darf nicht größer als 100 sein, wenn „travelMode“ auf TRANSIT gesetzt 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 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. 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: Sie können nur ein departureTime in der Vergangenheit angeben, wenn RouteTravelMode auf TRANSIT gesetzt 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, der als zweistelliger ccTLD-Wert ("Top-Level-Domain") angegeben wird. Weitere Informationen finden Sie unter Ländercode-Top-Level-Domains.

extraComputations[]

enum (ExtraComputation)

Optional. Eine Liste zusätzlicher Berechnungen, die zum Ausführen der Anfrage verwendet werden können. Hinweis: Durch diese zusätzlichen Berechnungen werden möglicherweise zusätzliche Felder in der Antwort zurückgegeben. 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 im RouteMatrixElement zurückgegeben wird. Dieses Feld enthält die geschätzte Reisezeit basierend auf den bisherigen Durchschnittswerten. RoutingPreference nach TRAFFIC_AWARE_OPTIMAL und RouteTravelMode nach DRIVE. Wenn Traffic angefordert und TrafficModel nicht angegeben wird, ist die Standardeinstellung BEST_GUESS.

transitPreferences

object (TransitPreferences)

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

Antworttext

Enthält Routeninformationen, die für ein Ursprungs-/Zielpaar 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 Strecke 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 dieser Wert unter Berücksichtigung der Verkehrslage berechnet.

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

staticDuration

string (Duration format)

Die Reisedauer 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 Einstellungen für dieses spezielle Start-/Zielpaar nicht berechnen kann, wird unter Umständen 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 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. Start-Wegpunkt

routeModifiers

object (RouteModifiers)

Optional. Modifikatoren für jede Route, die dies 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 zu den Matrixelementen.

RouteMatrixElementCondition

Die Bedingung der Route, die zurückgegeben wird.

Enums
ROUTE_MATRIX_ELEMENT_CONDITION_UNSPECIFIED Wird nur verwendet, wenn status des Elements nicht zulässig ist.
ROUTE_EXISTS Eine Route wurde gefunden und die entsprechenden Informationen wurden für das Element 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)

Reisestrecke in Textform.

duration

object (LocalizedText)

Die Dauer wird in Textform unter Berücksichtigung der Verkehrslage dargestellt. Hinweis: Wenn keine Verkehrsinformationen angefordert wurden, entspricht dieser Wert dem Wert für staticDuration.

staticDuration

object (LocalizedText)

Dauer wird in Textform dargestellt, ohne die Verkehrslage zu berücksichtigen.

transitFare

object (LocalizedText)

Fahrpreis in Textform