Method: computeRouteMatrix

Nimmt 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 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 Routendauern, Entfernungen, Elementstatus, Bedingungen 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 Platzhalter-Antwortfeldmaske (*) aus folgenden Gründen ab:

  • 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://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 der Anzahl der Start- und Zielorte, die als placeId oder address angegeben sind, darf nicht größer als 50 sein.
  • Das Produkt aus Anzahl von Startorten × Anzahl der Zielorte darf in keinem Fall größer als 625 sein.
  • Das Produkt aus Anzahl von Startorten × Anzahl der Zielorte darf nicht größer als 100 sein, wenn „routingPreference“ auf TRAFFIC_AWARE_OPTIMAL festgelegt 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 zu einer sehr 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 einen 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. 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 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 vom Standort des ersten Startorts 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 zur Vervollständigung der Anfrage verwendet werden können. Hinweis: Durch diese zusätzlichen Berechnungen können in der Antwort zusätzliche Felder zurückgegeben werden. 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. Dieser enthält die vorhergesagte Zeit im Traffic basierend auf den bisherigen Durchschnittswerten. RoutingPreference bis TRAFFIC_AWARE_OPTIMAL und RouteTravelMode bis DRIVE. Die Standardeinstellung ist BEST_GUESS, wenn Traffic angefordert wird, und TrafficModel ist nicht angegeben.

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 gesetzt ist.

Antworttext

Enthält Routeninformationen, die für ein Start-/Zielort-Paar in der v2.computeRouteMatrix API berechnet wurden. Dieses Proto kann zum 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. Unabhängig vom Status.

distanceMeters

integer

Die Entfernung der Route in Metern.

duration

string (Duration format)

Die für die Navigation der Route erforderliche Zeit. Wenn Sie routingPreference auf TRAFFIC_UNAWARE festlegen, ist dieser Wert derselbe wie staticDuration. Wenn Sie für routingPreference entweder TRAFFIC_AWARE oder TRAFFIC_AWARE_OPTIMAL festlegen, wird dieser Wert unter Berücksichtigung der Verkehrslage 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. Zum Beispiel: Informationen zu Einschränkungen und Mautgebühren

fallbackInfo

object (FallbackInfo)

Wenn der Server die Route nicht mit den angegebenen Präferenzen für dieses bestimmte Start-/Zielort-Paar berechnen kann, greift er unter Umständen auf einen anderen Berechnungsmodus zurück. 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. Startwegpunkt

routeModifiers

object (RouteModifiers)

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

RouteMatrixDestination

Ein einzelnes Ziel für ComputeRouteMatrixRequest

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

object (Waypoint)

Erforderlich. Wegpunkt (Ziel)

ExtraComputation

Zusätzliche Berechnungen, die während 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

Die Bedingung der zurückgegebenen Route.

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

LocalizedValues

Textdarstellungen bestimmter Eigenschaften.

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

object (LocalizedText)

In Textform dargestellte Reisestrecke.

duration

object (LocalizedText)

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

staticDuration

object (LocalizedText)

In Textform dargestellte Dauer ohne Berücksichtigung der Verkehrslage.

transitFare

object (LocalizedText)

Fahrpreis in Textform