Route Matrix berechnen

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

Bei einer Liste von Start- und Zielortpaaren würde ComputeRouteMatrix berechnet die Entfernung und Dauer einer Route ab jedem Startort. und an jedem Ziel enden. Jedes Element des Streams entspricht zu den Informationen für eine einzelne Route.

Die Methode ComputeRouteMatrix bietet mehrere Vorteile gegenüber der Methode „Distance Matrix“-Dienst:

  • Streaming ermöglicht es, Elemente vor der gesamten Matrix zurückzugeben. berechnet, wodurch sich die Latenz verringert.
  • ComputeRouteMatrix bietet detaillierte Optionen für die Traffic-Berechnung, mit denen Sie Kompromisse bei 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 Richtung (Fahrrichtung) und Straßenkreuzung angeben. Informationen für Wegpunkte.
  • Sie können die Rückgabe von Mautinformationen sowie die Streckenlänge und die voraussichtliche Ankunftszeit.

ComputeRouteMatrix-Methode aktivieren

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

ComputeRouteMatrix-Methode verwenden

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

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 von die Methode ComputeRouteMatrix:

  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. Erstellen Sie mit Ihrer bevorzugten Sprache und Ihrer Build-Tools die relevanten protobuffer-Code.

  3. Generieren Sie Ihre Anfrage. Zwei erforderliche Metadaten müssen gesendet werden. mit der Anfrage:

    • X-Goog-Api-Key muss auf Ihren API-Schlüssel festgelegt sein.
    • Für X-Goog-Fieldmask muss eine durch Kommas getrennte Liste von Feldern festgelegt 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 zu kennzeichnen. Das ist entmutigt werden. Verwenden Sie das Platzhalterzeichen, um die API-Antwort, aber listen Sie die gewünschten Felder explizit in der Feldmaske auf in Ihrem Produktionscode.

      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 reduzieren kann, da erfordern diese Felder möglicherweise eine weitere Berechnung. Die Latenz bleibt unverändert stabil sein, wenn Sie die benötigten Felder und neue Felder angeben, werden später weitere Berechnungen hinzugefügt.

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

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

Ein Unterscheidungsmerkmal der Methode ComputeRouteMatrix ist, dass Fehlercodes können entweder für den gesamten Stream oder für einzelne Elemente. Beispielsweise gibt die Streamverbindung einen Fehler zurück, wenn die Anfrage ist fehlerhaft (z. B. hat keine Ursprünge). Wenn jedoch ein Fehler nur auf einige wenige Elemente des Streams angewendet (z. B. ungültige Orts-ID für einen Ursprung), enthalten nur die von dem Fehler betroffenen Elemente Fehlercodes.

Es gibt keine Garantie dafür, dass die vom Stream zurückgegebenen Elemente zurückgegeben werden. in beliebiger Reihenfolge. Aus diesem Grund enthält jedes Element einen origin_index und destination_index. Für die angegebenen Start- und Zielorte enthalten, entspricht der Ausgangspunkt der Route origins[origin_index]. für ein bestimmtes Element und das Ziel der Route ist äquivalent. an destinations[destination_index]. Diese Arrays sind null-indexiert. Es ist wichtig, um die Listenreihenfolgen für Ausgangs- und Zielort 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 eine Route Matrix berechnen