Bei Routenberechnungen (einschließlich Umleitungen) wird die Route mit der kürzesten Fahrzeit als Standardroute zurückgegeben. Sie können die Routingstrategie jedoch so ändern, dass stattdessen die kürzeste der Routenalternativen zurückgegeben wird.
Der Begriff kürzer bezieht sich auf die Route, die gemäß unserem Standardkostenmodell die kürzeste unter den optimalen Routen ist. Die kürzere Route ist möglicherweise nicht die absolute kürzeste Route, da diese Option möglicherweise keine gute Alternative ist. Wenn die kürzeste Route beispielsweise 10 km lang ist und 50 Minuten dauert, während eine andere Route 15 km lang ist, aber nur 20 Minuten dauert, ist die zweite Option optimal, da 30 Minuten Zeitersparnis bei einer Verkürzung von 5 km nicht sinnvoll ist.
Nachdem Sie die Routenstrategie für eine Fahrt festgelegt haben, ändert sie sich erst, wenn die Fahrt beendet ist. Wenn Sie die Routingstrategie für eine Fahrt ändern möchten, müssen Sie die Ziele löschen und sie mit der neuen Routingstrategie neu festlegen.
Routendetails abrufen
Wenn Sie herausfinden möchten, welche Routenstrategie für einen bestimmten Wegpunkt am besten geeignet ist, rufen Sie getRouteInfo()
auf, um Routendetails für die standardmäßig beste Route und die absolut kürzeste Route zu erhalten. Zu den Details gehören die Dauer und die Entfernung zu einem Ziel-Wegpunkt.
Diese Details stammen aus RouteInfo
und werden in einer ListenableResultFuture
zurückgegeben.
Beispiel
Im folgenden Codebeispiel wird gezeigt, wie Sie Routendetails für jede der 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 Werte annehmen:
Aufzählungswert | Beschreibung |
---|---|
RoutingStrategy.DEFAULT_BEST | Hier werden Routen nach dem Standardkostenmodell des Navigations-SDKs sortiert. Dies ist die Standard-Routing-Strategie. |
RoutingStrategy.SHORTER | Sortiert Routen nach Entfernung. Die Route mit dem höchsten Rang ist die kürzeste der zurückgegebenen Routen. |
Beispiel
Im folgenden Codebeispiel wird gezeigt, wie die kürzeste Route festgelegt wird.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Routen mit Fähren
Standardmäßig schließt die NavSDK Routen mit Fähren aus. Wenn Sie Fähroptionen in Ihre Routen aufnehmen möchten, können Sie diese Routingeinstellung anpassen, damit die Fahrt Fährsegmente enthält. Legen Sie dazu avoidFerries
auf false
fest.
Beispiel
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
Das Format der Zusatzinformationen zur Route
Wenn Sie die kürzeste Route bevorzugen, werden in den Zusatzinformationen entlang der Route Entfernungsdetails angezeigt. Sie können stattdessen die Zusatzinformationen zur geschätzten Ankunftszeit verwenden.
Format für Zusatzinformationen zu Routen konfigurieren
Sie können das Format der Zusatzinformationen für Routen ändern, indem Sie setRouteCalloutInfoFormat
in NavigationView
(oder in NavigationFragment
) aufrufen. Für setRouteCalloutInfoFormat
kann einer der folgenden Aufzählungswerte verwendet werden:
Aufzählungswert | Beschreibung |
---|---|
RouteCalloutInfoFormat.DEFAULT | Zeigt die verbleibende Zeit an, wenn die Standard-Routingstrategie „Bester Pfad“ verwendet wird. Die verbleibende Strecke bei Verwendung der Strategie „Kürzeste Route“ |
RouteCalloutInfoFormat.TIME | Die verbleibende Zeit. |
RouteCalloutInfoFormat.DISTANCE | Die verbleibende Strecke wird angezeigt. |
Beispiel
Das folgende Codebeispiel zeigt, wie das Format der Zusatzinformationen für eine Route konfiguriert wird.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);