Route Matrix berechnen

Mit der Methode ComputeRouteMatrix der Routes Preferred API können Sie die Entfernung und Dauer einer Route für mehrere Start- und Zielorte berechnen. ComputeRouteMatrix unterstützt sowohl Streaming-gRPC-Aufrufe als auch REST-HTTP-Aufrufe.

Anhand einer Liste von Start- und Zielortpaaren berechnet ComputeRouteMatrix die Entfernung und Dauer einer Route, die an jedem Startort beginnt und an jedem Zielort endet. Jedes Element des Streams entspricht den Informationen für eine einzelne Route.

Die ComputeRouteMatrix-Methode bietet mehrere Vorteile gegenüber dem Distance Matrix Service:

  • Durch das Streamen können Elemente zurückgegeben werden, bevor die gesamte Matrix berechnet wurde, wodurch die Latenz verringert wird.
  • ComputeRouteMatrix bietet detaillierte Optionen für die Traffic-Berechnung, sodass Sie Entscheidungen zum Kompromiss zwischen Qualität und Latenz treffen können.
  • Anfragen werden in der Infrastruktur von Google mit höherer Priorität ausgeführt, was zu einer höheren Verfügbarkeit führt.
  • Sie können für Wegpunkte Informationen zur Fahrtrichtung und zur Straßenseite angeben.
  • Sie können Informationen zu Mautgebühren zusammen mit der Routenentfernung und der voraussichtlichen Ankunftszeit abrufen.

Methode „ComputeRouteMatrix“ aktivieren

Bevor Sie die Methode ComputeRouteMatrix in Ihrem Code verwenden können, müssen Sie sie aktivieren. Weitere Informationen zum Aktivieren von Methoden der Routes Preferred API finden Sie unter Erste Schritte.

Methode „ComputeRouteMatrix“ verwenden

Die Methode ComputeRouteMatrix ist über den Endpunkt „Routes Preferred“ v1 verfügbar.

Weitere Informationen finden Sie in der folgenden Dokumentation:

gRPC: https://developers.google.com/maps/documentation/routes_preferred/reference/rpc/google.maps.routes.v1

REST: https://developers.google.com/maps/documentation/routes_preferred/reference/rest/v1/TopLevel/computeRouteMatrix

In den folgenden allgemeinen Schritten wird beschrieben, wie Sie die Methode ComputeRouteMatrix mit gRPC aufrufen:

  1. Rufen Sie die erforderlichen Protobufs aus dem googleapis-Repository ab:

    https://github.com/googleapis/googleapis/tree/master/google/maps/routes

    Bei einigen Build-Systemen, z. B. Go, wird dies möglicherweise automatisch für Sie erledigt.

  2. Generieren Sie den relevanten Protobuffer-Code in Ihrer bevorzugten Sprache und mit den gewünschten Build-Tools.

  3. Erstellen Sie Ihre Anfrage. Mit der Anfrage müssen zwei erforderliche Metadaten gesendet werden:

    • X-Goog-Api-Key muss auf Ihren API-Schlüssel festgelegt sein.
    • X-Goog-Fieldmask muss auf eine durch Kommas getrennte Liste der Felder gesetzt werden, die Sie in der Antwort benötigen. Beispiel: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Sie können das Platzhalterzeichen (*) verwenden, um alle Felder anzugeben. Das wird jedoch nicht empfohlen. Verwenden Sie das Platzhalterzeichen, um die API-Antwort zu testen und zu verstehen. Listen Sie die gewünschten Felder jedoch explizit in der Feldmaske in Ihrem Produktionscode auf.

      Weitere Informationen zum Erstellen des Feldmaskenstrings finden Sie unter https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Wenn Sie Felder deaktivieren, die Sie nicht benötigen, kann sich die Latenz verringern, da für diese Felder möglicherweise zusätzliche Berechnungen erforderlich sind. Die Latenz bleibt stabil, wenn Sie die benötigten Felder angeben und später neue Felder hinzugefügt werden, für die mehr Rechenleistung erforderlich ist.

  4. Senden Sie Ihre Anfrage an routespreferred.googleapis.com:443.Sie müssen das TLS-Protokoll verwenden.

Beispiele für die Verwendung der ComputeRouteMatrix-Methode finden Sie unter Beispiele für die Berechnung einer Routenmatrix (Beta).

Ein besonderes Merkmal der ComputeRouteMatrix-Methode ist, dass Fehlercodes entweder für den gesamten Stream oder für einzelne Elemente zurückgegeben werden können. Die Streamverbindung gibt beispielsweise einen Fehler zurück, wenn die Anfrage fehlerhaft ist (z. B. keine Ursprünge enthält). Wenn sich ein Fehler jedoch nur auf einige Elemente des Streams bezieht (z. B. wenn eine ungültige Orts-ID für einen Ursprung festgelegt wird), enthalten nur die vom Fehler betroffenen Elemente Fehlercodes.

Die vom Stream zurückgegebenen Elemente werden nicht garantiert in einer bestimmten Reihenfolge zurückgegeben. Aus diesem Grund enthält jedes Element ein origin_index und ein destination_index. Für die in der Anfrage angegebenen Startorte und Ziele entspricht der Routenstartort für ein bestimmtes Element origins[origin_index] und das Routenziel destinations[destination_index]. Diese Arrays sind nullindiziert. Es ist wichtig, die Reihenfolge der Quell- und Ziellisten zu speichern.

Mautgebühren berechnen

Informationen zur Berechnung von Mautgebühren finden Sie unter Mautgebühren berechnen.

Beispiele für die Berechnung von Mautgebühren finden Sie unter Beispiele für die Berechnung einer Routenmatrix.