Standardmäßig gibt die Routes API die Route default zurück. Diese ist normalerweise die schnellste Route vom Start- zum Zielort. Wenn Sie eine Anfrage stellen alternative gibt die API bis zu drei Routen zusammen mit den Standardrouten zurück. Route. Ihre Kunden können dann eine Route auswählen, die ihren Anforderungen am besten entspricht.
Überlegungen beim Anfordern alternativer Routen
Beachten Sie beim Anfordern alternativer Routen die folgenden Überlegungen:
Alternative Routen können nur für Routen ohne Zwischenrouten angefordert werden Wegpunkte. Alternative Routen anfordern, wenn für die Route Folgendes angegeben ist: Wegpunkte führen nicht zu einem Fehler. Es gibt jedoch keine Alternative, Routen zurückgegeben.
Die Antwort enthält maximal drei alternative Routen. Sie können jedoch Manchmal sind keine alternativen Routen verfügbar, sodass die Antwort nur Folgendes enthält: die Standardroute.
Aufgrund der zusätzlichen Verarbeitung, die für die Berechnung alternativer kann das Anfordern alternativer Routen die Antwortzeit die API verwenden.
Beispiel für eine Anfrage für alternative Routen
Setzen Sie computeAlternativeRoutes
auf true
, um alternative Routen anzufordern. Die
das folgende Beispiel zeigt, wie alternative Routen in einem
computeRoutes
(REST)-Anfrage zu verwenden.
curl -X POST -d '{ "origin":{ "location":{ "latLng":{ "latitude":42.340173523716736, "longitude":-71.05997968330408 } } }, "destination":{ "location":{ "latLng":{ "latitude":42.075698891472804, "longitude": -72.59806562080408 } } }, "travelMode": "DRIVE", "routingPreference":"TRAFFIC_AWARE", "computeAlternativeRoutes": true }' \ -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \ -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels' \ 'https://routes.googleapis.com/directions/v2:computeRoutes'
In diesem Beispiel geben Sie eine Feldmaske an, sodass die Antwort nur die
duration
-, distanceMeters,
- und routeLabels
-Properties für jede Route. Ihr
kann er dann anhand dieser Informationen eine Route auswählen. Weitere Informationen
finden Sie unter Welche Informationen sollen zurückgegeben werden?.
Beispiel für eine Antwort auf alternative Routen
Verwenden Sie in der Antwort das Array-Attribut routeLabels
, um die Reichweite zu identifizieren.
Route:
Für die Standardroute enthält das Attribut
routeLabels
DEFAULT_ROUTE
.Für alternative Routen enthält das Attribut
routeLabels
DEFAULT_ROUTE_ALTERNATE
.
In diesem Beispiel enthält die Antwort die Standardroute und zwei alternative Routen.
Routen planen. Beachten Sie, dass die Werte der Attribute duration
und distanceMeters
unterscheiden sich je nach Route:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }
Polylinien in die Antwort einfügen
Damit Nutzer die Route leichter auswählen können, fügen Sie polyline für jede Route zur Antwort. Anschließend können Sie um jede Polylinie auf einer Karte anzuzeigen.
Fügen Sie zum Hinzufügen der Polylinie routes.polyline
in die Feldmaske ein:
-H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters,routes.routeLabels,routes.polyline'
Die Antwort enthält dann die Polylinie für jede Route:
{ "routes": [ { "distanceMeters": 150322, "duration": "5309s", "polyline": { "encodedPolyline": "mrlaGtavpLPLBTm…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE" ] }, { "distanceMeters": 157614, "duration": "6879s", "polyline": { "encodedPolyline": "DmEd`@e@pCo@pCs@z…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] }, { "distanceMeters": 189311, "duration": "7376s", "polyline": { "encodedPolyline": "FVLL|Af@HPAV…PgA^qC" }, "routeLabels": [ "DEFAULT_ROUTE_ALTERNATE" ] } ] }