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 Methode ComputeRouteMatrix bietet gegenüber dem Distance Matrix Service mehrere Vorteile:

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

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 v1 der Routes Preferred API 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 gRPC verwenden, um die Methode ComputeRouteMatrix aufzurufen:

  1. Prüfen Sie die erforderlichen Protobuffer aus dem googleapis-Repository:

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

    Bei einigen Build-Systemen wie Go kann dies automatisch erfolgen.

  2. Generieren Sie mit Ihrer bevorzugten Sprache und Ihren bevorzugten Build-Tools den entsprechenden Protobuffer-Code.

  3. Generieren 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 festgelegt sein, 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. Geben Sie die gewünschten Felder jedoch explizit in der Feldmaske in Ihrem Produktionscode an.

      Weitere Informationen zum Erstellen des Feldmaskenstrings finden Sie unter https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Beachten Sie, dass das Deaktivieren von Feldern, die Sie nicht benötigen, die Latenz verringern kann, da für diese Felder möglicherweise weitere 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 Berechnungen erforderlich sind.

  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 das Berechnen einer Routenmatrix (Beta).

Ein besonderes Merkmal der Methode ComputeRouteMatrix 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 Startorte enthält). Wenn ein Fehler jedoch nur auf einige Elemente des Streams zutrifft (z. B. wenn eine ungültige Orts-ID für einen Startort festgelegt wurde), enthalten nur die Elemente, die von dem Fehler betroffen sind, Fehlercodes.

Die Reihenfolge, in der die Elemente vom Stream zurückgegeben werden, ist nicht garantiert. Daher enthält jedes Element einen origin_index und einen destination_index. Für die in der Anfrage angegebenen Start- und Zielorte entspricht der Routenstartort für ein bestimmtes Element origins[origin_index] und der Routenzielort destinations[destination_index]. Diese Arrays sind nullbasiert. Es ist wichtig, die Reihenfolge der Start- und Zielortliste zu speichern.

Mautgebühren berechnen

Informationen zum Berechnen von Mautgebühren finden Sie unter Mautgebühren berechnen.

Beispiele für das Berechnen von Mautgebühren finden Sie unter Beispiele für das Berechnen einer Routenmatrix.