Standardmäßig gibt die Routes API die Standardroute zurück, die in der Regel die schnellste Route vom Start- zum Zielort ist. Wenn Sie alternative Routen anfordern, gibt die API neben der Standardroute bis zu drei Routen zurück. Ihre Kunden können dann einen Weg auswählen, der ihren Anforderungen am besten entspricht.
Hinweise zum Anfordern von alternativen Routen
Beachten Sie beim Anfordern alternativer Routen Folgendes:
Sie können nur alternative Routen für Routen ohne Zwischenwegpunkte anfordern. Das Anfordern alternativer Routen, wenn für die Route Zwischenziele angegeben sind, führt nicht zu einem Fehler. Es werden jedoch keine alternativen Routen zurückgegeben.
Die Antwort enthält maximal drei alternative Routen. Manchmal sind jedoch keine alternativen Routen verfügbar, sodass die Antwort nur die Standardroute enthält.
Aufgrund der zusätzlichen Verarbeitung, die zum Berechnen alternativer Routen erforderlich ist, kann sich die Antwortzeit der API verlängern.
Beispiel für eine Anfrage zu alternativen Routen
Legen Sie computeAlternativeRoutes
auf true
fest, um alternative Routen anzufordern. Im folgenden Beispiel wird gezeigt, wie Sie in einer REST-Anfrage an die Methode computeRoutes alternative Routen anfordern.
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, damit die Antwort für jede Route nur die Properties duration
, distanceMeters,
und routeLabels
enthält. Anhand dieser Informationen kann Ihr Kunde dann die Route auswählen. Weitere Informationen finden Sie unter Zurückzugebende Informationen auswählen.
Beispiel für eine Antwort zu alternativen Routen
Verwenden Sie in der Antwort die Array-Property routeLabels
, um den Pfad zur Reichweite zu identifizieren:
Für die Standardroute enthält die Eigenschaft
routeLabels
DEFAULT_ROUTE
.Bei alternativen Routen enthält die
routeLabels
-PropertyDEFAULT_ROUTE_ALTERNATE
.
In diesem Beispiel enthält die Antwort die Standardroute und zwei alternative Routen. Die Werte der Eigenschaften duration
und distanceMeters
unterscheiden sich für jede 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 einbeziehen
Fügen Sie der Antwort die Polylinie für jede Route hinzu, damit Nutzer die Route leichter auswählen können. Anschließend können Sie jede Polylinie auf einer Karte anzeigen.
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 den Polylinienzug 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" ] } ] }