Os cálculos de rota (incluindo o redirecionamento) retornam o trajeto que leva menos tempo para navegar como a melhor rota padrão. No entanto, é possível mudar a estratégia de roteamento para que a alternativa mais curta seja retornada.
O termo mais curta significa a rota que é a mais curta entre as rotas ideais com base no nosso modelo de custo padrão. A rota mais curta pode não ser a absoluta mais curta, já que essa opção pode ser uma alternativa ruim. Por exemplo, se a rota mais curta absoluta for de 10 km e levar 50 minutos para navegar e outra rota for de 15 km, mas levar apenas 20 minutos para navegar, a segunda opção será ideal, porque gastar 30 minutos para reduzir cinco km não é uma boa troca.
Depois de definir a estratégia de roteamento para uma viagem, ela não vai mudar até que a viagem seja concluída. Para mudar a estratégia de roteamento de uma viagem, limpe os destinos e redefina-os com a nova estratégia.
Definir a estratégia de roteamento
É possível configurar a estratégia de roteamento definindo RoutingOptions.routingStrategy ao chamar setDestinations().
RoutingOptions.routingStrategy usa um dos seguintes valores de enumeração:
| Valor de enumeração | Descrição |
|---|---|
| RoutingStrategy.DEFAULT_BEST | Classifica as rotas pelo modelo de custo padrão do SDK de navegação. Essa é a estratégia de roteamento padrão. |
| RoutingStrategy.SHORTER | Classifica as rotas por distância. A rota com a classificação mais alta é a mais curta das aquelas retornadas. |
Exemplo
O exemplo de código a seguir demonstra como definir a preferência de rota mais curta.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Rotas que incluem balsas
Por padrão, o NavSDK exclui rotas que incluem balsas. Se você preferir incluir opções de balsa como parte das rotas, ajuste essa preferência de roteamento para expor a viagem a segmentos de balsa definindo avoidFerries como false.
Exemplo
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
O formato da frase de destaque da rota
Na preferência de rota mais curta, as frases de destaque ao longo da rota mostram detalhes da distância. No entanto, é possível usar as frases de destaque de ETA.
Configurar o formato da frase de destaque da rota
É possível mudar o formato da frase de destaque da rota chamando setRouteCalloutInfoFormat em NavigationView (ou em NavigationFragment). setRouteCalloutInfoFormat usa um dos seguintes valores de enumeração:
| Valor de enumeração | Descrição |
|---|---|
| RouteCalloutInfoFormat.DEFAULT | Mostra o tempo restante ao usar a estratégia de roteamento da melhor rota padrão estratégia. Mostra a distância restante ao usar a estratégia de roteamento da rota mais curta. |
| RouteCalloutInfoFormat.TIME | Mostra o tempo restante. |
| RouteCalloutInfoFormat.DISTANCE | Mostra a distância restante. |
Exemplo
O exemplo de código a seguir demonstra como configurar o formato da frase de destaque da rota.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);