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 das Streaming von gRPC-Aufrufen als auch REST-HTTP-Aufrufe.

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

Die Methode ComputeRouteMatrix hat gegenüber dem „Distance Matrix“-Dienst mehrere Vorteile:

  • Durch 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 Traffic-Berechnung, mit denen Sie Entscheidungen hinsichtlich der 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.
  • Für Wegpunkte können Sie die Richtung (Fahrtrichtung) und die Straßenseite angeben.
  • Sie können die Rückgabe von Mautstraßeninformationen zu Ihrer Route und zur voraussichtlichen Ankunftszeit anfordern.

ComputeRouteMatrix-Methode aktivieren

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

ComputeRouteMatrix-Methode verwenden

Die Methode ComputeRouteMatrix ist über den Routes Preferred v1-Endpunkt 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 mit gRPC die Methode ComputeRouteMatrix aufrufen:

  1. Sehen Sie sich die erforderlichen Protokollpuffer im googleapis-Repository an:

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

    Beachte, dass einige Build-Systeme wie Go dies automatisch tun.

  2. Generieren Sie den entsprechenden Protokollpuffercode mit Ihrer bevorzugten Sprache und einer Reihe von Build-Tools.

  3. Generieren Sie die 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 aus der Antwort erforderlich sind. Beispiel: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Sie können das Platzhalterzeichen (*) verwenden, um alle Felder anzugeben, was jedoch nicht empfohlen wird. Verwenden Sie das Platzhalterzeichen, um die API-Antwort zu testen und zu verstehen, aber listen Sie explizit die Felder auf, die in der Feldmaske Ihres Produktionscodes enthalten sein sollen.

      Weitere Informationen zum Erstellen des Feldmaskenstrings finden Sie unter https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Durch das Deaktivieren von Feldern, die Sie nicht benötigen, kann die Latenz verringert werden, da für diese Felder möglicherweise weitere Berechnungen erforderlich sind. Die Latenz bleibt stabil, wenn Sie die benötigten Felder angeben, und neue Felder, die mehr Berechnungen erfordern, werden später hinzugefügt.

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

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

Ein Unterscheidungsmerkmal der Methode ComputeRouteMatrix besteht darin, 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 falsch formatiert ist (z. B. keine Ursprünge). Wenn ein Fehler jedoch nur für einige Elemente des Streams gilt (z. B. wenn eine ungültige Orts-ID für einen Startort festgelegt wird), enthalten nur die von dem Fehler betroffenen Elemente Fehlercodes.

Es kann nicht garantiert werden, dass die vom Stream zurückgegebenen Elemente in beliebiger Reihenfolge zurückgegeben werden. Aus diesem Grund enthält jedes Element ein origin_index und ein destination_index. Für die Start- und Zielorte, die in der Anfrage angegeben sind, entspricht der Ausgangsort der Route dem origins[origin_index] für ein bestimmtes Element und das Ziel der Route entspricht destinations[destination_index]. Diese Arrays sind nullindexiert. Es ist wichtig, die Bestellungen der Ursprungs- und Ziellisten zu speichern.

Mautgebühren berechnen

Weitere Informationen zur Berechnung von Mautgebühren

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