Bei der Routenberechnung (einschließlich der Neuberechnung der Route) wird die Route mit der kürzesten Fahrzeit als beste Standardroute zurückgegeben. Sie können die Routingstrategie jedoch so ändern, dass stattdessen die kürzere der Routenalternativen zurückgegeben wird.
Der Begriff kürzer bezieht sich auf die Route, die im Vergleich zu anderen optimalen Routen auf Grundlage unseres Standardkostenmodells die kürzeste ist. Die kürzere Route ist möglicherweise nicht die absolut kürzeste Route, da diese Option möglicherweise eine schlechte Alternative darstellt. Wenn die kürzeste Route beispielsweise 10 km lang ist und 50 Minuten dauert und eine andere Route 15 km lang ist, aber nur 20 Minuten dauert, ist die zweite Option optimal, da es sich nicht lohnt, 30 Minuten zu investieren, um 5 km zu sparen.
Sobald Sie die Routingstrategie für eine Fahrt festgelegt haben, ändert sie sich erst, wenn die Fahrt abgeschlossen ist. Wenn Sie die Routingstrategie für eine vorhandene Fahrt ändern möchten, müssen Sie die Ziele löschen und mit der neuen Routingstrategie neu festlegen.
Routendetails abrufen
Um zu ermitteln, welche Routenstrategie für einen bestimmten Wegpunkt die optimale Wahl ist, rufen Sie getRouteInfo()
auf, um Routendetails für die standardmäßige beste Route und die absolut kürzere Route zu erhalten. Die Details umfassen die Dauer und die Entfernung zu einem Zielwegpunkt.
Diese Details stammen von RouteInfo
und werden in einem ListenableResultFuture
zurückgegeben.
Beispiel
Das folgende Codebeispiel zeigt, wie Sie Routendetails für die beiden Routingstrategien abrufen.
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
Routingstrategie festlegen
Sie können die Routingstrategie konfigurieren, indem Sie RoutingOptions.routingStrategy
festlegen, wenn Sie setDestinations()
aufrufen.
RoutingOptions.routingStrategy
kann einen der folgenden Enumerationswerte annehmen:
Aufzählungswert | Beschreibung |
---|---|
RoutingStrategy.DEFAULT_BEST | Ranks routes by the Navigation SDK's default cost model. Dies ist die Standard-Routingstrategie. |
RoutingStrategy.SHORTER | Routen werden nach Entfernung sortiert. Die Route mit dem höchsten Ranking ist die kürzeste der zurückgegebenen Routen. |
Beispiel
Das folgende Codebeispiel zeigt, wie die Einstellung für die kürzere Route festgelegt wird.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Routen mit Fährverbindungen
Standardmäßig werden im NavSDK Routen mit Fähren ausgeschlossen. Wenn Sie Fährverbindungen in Ihre Routen einbeziehen möchten, können Sie diese Routing-Einstellung anpassen, indem Sie avoidFerries
auf false
setzen.
Beispiel
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
Format der Zusatzinformationen für Routen
Wenn Sie die kürzere Route bevorzugen, werden in den Hinweisen entlang der Route Entfernungsdetails angezeigt. Stattdessen können Sie die ETA-Hinweise verwenden.
Format für Routen-Callout konfigurieren
Sie können das Format des Routen-Callouts ändern, indem Sie setRouteCalloutInfoFormat
in NavigationView
(oder in NavigationFragment
) aufrufen. setRouteCalloutInfoFormat
akzeptiert einen der folgenden Enumerationswerte:
Aufzählungswert | Beschreibung |
---|---|
RouteCalloutInfoFormat.DEFAULT | Zeigt die verbleibende Zeit an, wenn die Standard-Routingstrategie „Beste Route“ verwendet wird. Zeigt die verbleibende Entfernung an, wenn die Routingstrategie „Kürzere Route“ verwendet wird. |
RouteCalloutInfoFormat.TIME | Zeigt die verbleibende Zeit an. |
RouteCalloutInfoFormat.DISTANCE | Zeigt die verbleibende Distanz an. |
Beispiel
Das folgende Codebeispiel zeigt, wie das Format des Routen-Callouts konfiguriert wird.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);