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 zuTRAFFIC_AWARE_OPTIMAL
finden Sie unter Angeben, wie und ob Zugriffsdaten einbezogen werdenWenn 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
undcondition
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.