Routenmatrix abrufen

Mit der Routes API die Entfernung und Dauer einer Route für mehrere Start- und Zielorte angeben, indem Sie die Methode Methode computeRouteMatrix (REST) oder das Streaming, ComputeRouteMatrix -Methode (gRPC).

Bei einer Liste mit Start- und Zielorten wird die Methode berechnet die Entfernung und Dauer einer Route ab jedem Startpunkt. und an jedem Ziel enden.

Routenmatrix für öffentliche Verkehrsmittel abrufen

Sie können auch eine Routenmatrix für öffentliche Verkehrsmittel berechnen. Für eine Siehe Routenmatrix für öffentliche Verkehrsmittel abrufen.

Anfragelimits

Die Compute Route Matrix-Methoden erzwingen die folgende Anfrage für Wegpunkte mit address oder placeIDs sowie für -Elemente. Elemente sind die Routen zwischen jedem Start- und Zielort in einer Routenmatrix unterscheiden, sodass die Zahl von -Elementen ist die Anzahl der Startorte × der Anzahl der Zielorte. Für Wenn Sie beispielsweise 10 Start- und 10 Zielorte haben, haben Sie 100 Elemente:

  • Bei Routen darf die Anzahl der Elemente 625 nicht überschreiten. die keine TRANSIT-Routen sind.

  • Wenn Sie eine TRANSIT-Route angeben, darf die Anzahl der Elemente nicht überschreiten 100.

  • Wenn Sie TRAFFIC_AWARE_OPTIMAL angeben, darf die Anzahl der Elemente nicht 100 überschreiten. Weitere Informationen zu TRAFFIC_AWARE_OPTIMAL finden Sie unter Angeben, wie und ob Zugriffsdaten einbezogen werden

  • Wenn Sie Start- oder Zielorte mithilfe der Adresse oder der Orts-ID angeben, können Sie auf diese Weise bis zu 50 Summe angeben.

Antwortfehler

Eine Funktion der Compute Route Matrix-Methoden ist, dass Fehler entweder für die gesamte Antwort oder für einzelne Antwortelemente zurückgegeben werden. Beispielsweise enthält die gesamte Antwort einen Fehler, wenn die Anfrage fehlerhaft ist. (z. B. keinen Ursprung).

Tritt jedoch ein Fehler auf -Elemente in der Antwort (z. B. kann keine Route für eine Kombination aus Start- und Zielort), werden nur die vom error gibt einen Fehlercode zurück.

gRPC-Stream-Ergebnisse

ComputeRouteMatrix Die gRPC-Methode übernimmt eine Liste von Start- und Zielorten und gibt einen Stream zurück. mit Routeninformationen für jede Kombination aus Start- und Zielort. Da die Ergebnisse als Stream zurückgegeben werden, müssen Sie nicht warten, bis alle mögliche Routenkombinationen berechnet werden, bevor Sie mit der Verarbeitung der Ergebnisse.

Die vom Stream zurückgegebenen Elemente werden nicht zwangsläufig in Reihenfolge. Daher enthält jedes Antwortelement ein origin_index und einen destination_index. Für die in der Anfrage angegebenen Start- und Zielorte Der Ausgangspunkt der Route entspricht origins[origin_index] für ein bestimmtes Element und das Ziel der Route entspricht destinations[destination_index]. Diese Arrays sind null-indexiert. Es ist wichtig, den Ursprung und Bestellungen auf der Zielliste.

Beispiele für die Berechnung einer Route Matrix

computeRouteMatrix verwenden -Methode in einer HTTP-Anfrage, um eine Routenmatrix zu berechnen.

HTTP-Beispiel

Das folgende Beispiel zeigt eine computeRouteMatrix-HTTP-Anfrage. In diesem Beispiel Ich:

  • Geben Sie ein Array von zwei Ausgangs- und zwei Wegpunkten an. Die Methode berechnet eine Route von jedem Startpunkt zu jedem Zielort, sodass die Antwort enthält vier Routen.

    Im Array befindet sich das erste Element an einem Index von 0, das zweite Element an Index 1, und so weiter.

  • Fügen Sie eine Antwortfeldmaske hinzu, um anzugeben, welche Felder der Antwort (REST) oder ComputeRoutesResponse (gRPC) zurückgegeben. In diesem Beispiel konfigurieren Sie die Anfrage so, originIndex, destinationIndex, duration, distanceMeters, status und condition für jede Route. Weitere Informationen finden Sie unter Wählen Sie die Felder aus, die zurückgegeben werden sollen.

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      },
      "routeModifiers": { "avoid_ferries": true}
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE",
  "routingPreference": "TRAFFIC_AWARE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

Die Antwort enthält die vier möglichen Routen für die Kombination aller Startorte und Ziel-Wegpunkte.

Identifizieren Sie jede Route in der Antwort mithilfe von originIndex und destinationIndex-Antwortfelder. Beispiel: Ein originIndex von 1 im Antwort entspricht einer Route, die vom Wegpunkt an Index 1 der origins-Array in der Anfrage.

[
    {
        "originIndex": 0,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 822,
        "duration": "160s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 0,
        "status": {},
        "distanceMeters": 2919,
        "duration": "361s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 1,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 5598,
        "duration": "402s",
        "condition": "ROUTE_EXISTS"
    },
    {
        "originIndex": 0,
        "destinationIndex": 1,
        "status": {},
        "distanceMeters": 7259,
        "duration": "712s",
        "condition": "ROUTE_EXISTS"
    }
]

gRPC-Beispiele

gRPC-Anfragen finden Sie in den Beispielen auf Beispiel für eine gRPC-Anfrage. Java auf dieser Seite sowohl die Compute Routes als auch Compute Route Matrix.