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 Startpunkt beginnt und an jedem Zielort endet. Jedes Element des Streams entspricht den Informationen für eine einzelne Route.

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

  • Streaming ermöglicht es, Elemente zurückzugeben, bevor die gesamte Matrix berechnet wurde, was die Latenz verringert.
  • ComputeRouteMatrix bietet detaillierte Optionen für die Trafficberechnung, sodass Sie Entscheidungen hinsichtlich der Qualitätslatenz 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 die Richtung (Fahrtrichtung) und die Straßenseite angeben.
  • Sie können beantragen, dass Mautinformationen zusammen mit der Routenentfernung und der voraussichtlichen Ankunftszeit zurückgegeben werden.

ComputeRouteMatrix-Methode aktivieren

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

ComputeRouteMatrix-Methode verwenden

Die Methode ComputeRouteMatrix ist über den Endpunkt von 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 gRPC zum Aufrufen der Methode ComputeRouteMatrix verwendet wird:

  1. Sehen Sie sich die erforderlichen Protokollzwischenspeicher aus dem googleapis-Repository an:

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

    Beachten Sie, dass einige Build-Systeme wie Go dies möglicherweise automatisch für Sie erledigen.

  2. Generieren Sie den relevanten Protokollzwischenspeicher-Code mit Ihrer bevorzugten Sprache und den Build-Tools Ihrer Wahl.

  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 werden, die Sie für die Antwort benötigen. Beispiel: X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status. Sie können das Platzhalterzeichen (*) zur Kennzeichnung aller Felder verwenden. Dies wird jedoch nicht empfohlen. Verwenden Sie das Platzhalterzeichen, um die API-Antwort zu testen und zu verstehen, aber listen Sie die gewünschten Felder explizit in der Feldmaske Ihres Produktionscodes auf.

      Weitere Informationen zum Erstellen des Feldmaskenstrings finden Sie unter https://github.com/protocolbuffers/protobuf/blob/master/src/google/protobuf/field_mask.proto. Das Deaktivieren von Feldern, die Sie nicht benötigen, kann die Latenz reduzieren, da diese Felder möglicherweise weiter berechnet werden müssen. Ihre Latenz bleibt stabil, wenn Sie die benötigten Felder angeben und später neue Felder hinzugefügt werden, die mehr Berechnung erfordern.

  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 Routenmatrix (Beta) berechnen.

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 fehlerhaft ist, z. B. wenn sie keine Ursprünge hat. Wenn ein Fehler jedoch nur für einige Elemente des Streams gilt (z. B. wenn für einen Ursprung eine ungültige Orts-ID festgelegt wird), enthalten nur die vom Fehler betroffenen Elemente Fehlercodes.

Es gibt keine Garantie dafür, 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. Bei den in der Anfrage angegebenen Start- und Zielorten entspricht der Ursprungsort der Route für ein bestimmtes Element origins[origin_index] und der Zielort der Route destinations[destination_index]. Diese Arrays sind null-indexiert. Es ist wichtig, die Listenreihenfolgen für Start- und Zielort zu speichern.

Mautgebühren berechnen

Informationen zur Berechnung von Mautgebühren findest du unter Mautgebühren berechnen.

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