I calcoli del percorso (incluso il cambio percorso) restituiscono il percorso che richiede il minor tempo di navigazione come percorso migliore predefinito. Tuttavia, puoi modificare la strategia di routing in modo che venga restituita l'alternativa di percorso più breve.
Il termine più breve indica il percorso più breve tra i percorsi ottimali in base al nostro modello di costo predefinito. Il percorso più breve potrebbe non essere il più breve in assoluto, poiché questa opzione potrebbe essere una scelta non ottimale. Ad esempio, se il percorso più breve in assoluto è di 10 km e richiede 50 minuti di navigazione e un altro percorso è di 15 km, ma richiede solo 20 minuti di navigazione, la seconda scelta è ottimale, perché impiegare 30 minuti per ridurre 5 km non è un buon compromesso.
Una volta impostata la strategia di routing per un percorso, questa non cambierà fino al completamento del percorso. Per modificare la strategia di routing per un percorso esistente, devi cancellare le destinazioni e reimpostarle con la nuova strategia di routing.
Impostazione della strategia di routing
Puoi configurare la strategia di routing impostando RoutingOptions.routingStrategy quando chiami setDestinations().
RoutingOptions.routingStrategy assume uno dei seguenti valori di enumerazione:
| Valore di enumerazione | Descrizione |
|---|---|
| RoutingStrategy.DEFAULT_BEST | Classifica i percorsi in base al modello di costo predefinito dell'SDK Navigation. Questa è la strategia di routing predefinita. |
| RoutingStrategy.SHORTER | Classifica i percorsi in base alla distanza. Il percorso con il ranking più alto è il più breve tra quelli restituiti. |
Esempio
Il seguente esempio di codice mostra come impostare la preferenza per il percorso più breve.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Percorsi che includono traghetti
Per impostazione predefinita, l'SDK di navigazione esclude i percorsi che includono traghetti. Se
preferisci includere le opzioni di traghetto nei tuoi percorsi, puoi modificare
questa preferenza di routing per esporre il percorso ai segmenti di traghetto impostando
avoidFerries su false.
Esempio
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
Il formato del callout del percorso
In base alla preferenza per il percorso più breve, i callout lungo il percorso mostrano i dettagli della distanza. Tuttavia, puoi utilizzare i callout di testo ETA.
Configurazione del formato del callout della route
Puoi modificare il formato del callout del percorso chiamando setRouteCalloutInfoFormat
in NavigationView (o in NavigationFragment). setRouteCalloutInfoFormat
accetta uno dei seguenti valori di enumerazione:
| Valore di enumerazione | Descrizione |
|---|---|
| RouteCalloutInfoFormat.DEFAULT | Visualizza il tempo rimanente quando utilizzi la strategia di routing predefinita per il percorso migliore. Visualizza la distanza rimanente quando utilizzi la strategia di routing del percorso più breve. |
| RouteCalloutInfoFormat.TIME | Mostra il tempo rimanente. |
| RouteCalloutInfoFormat.DISTANCE | Mostra la distanza rimanente. |
Esempio
Il seguente esempio di codice mostra come configurare il formato del callout della route.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);