Os cálculos de trajeto (incluindo o novo trajeto) retornam o trajeto que leva o menor tempo para navegar como o melhor trajeto padrão. No entanto, é possível mudar a estratégia de roteamento para que a alternativa mais curta seja retornada.
O termo mais curto significa o trajeto mais curto entre os trajetos ideais com base no nosso modelo de custo padrão. O trajeto mais curto pode não ser o absolutamente mais curto, já que essa opção pode ser uma alternativa ruim. Por exemplo, se o trajeto mais curto for de 10 km e levar 50 minutos para ser percorrido, e outro trajeto for de 15 km, mas levar apenas 20 minutos, a segunda opção será a ideal, porque gastar 30 minutos para reduzir 5 km não é uma boa troca.
Depois de definir a estratégia de trajeto para uma viagem, ela não vai mudar até que a viagem seja concluída. Para mudar a estratégia de trajeto de uma viagem, limpe os destinos e redefina-os com a nova estratégia.
Como definir a estratégia de roteamento
Para configurar a estratégia de roteamento, defina
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 os trajetos pelo modelo de custo padrão do SDK de navegação. Essa é a estratégia de roteamento padrão. |
| RoutingStrategy.SHORTER | Classifica os trajetos por distância. A rota com a classificação mais alta é a mais curta entre as retornadas. |
Exemplo
O exemplo de código a seguir demonstra como definir a preferência de trajeto mais curto.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Rotas que incluem balsas
Por padrão, o SDK de navegação exclui rotas que incluem balsas. Se
você preferir incluir opções de balsa como parte das suas 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 do trajeto
Na preferência de trajeto mais curto, os balões ao longo do trajeto mostram detalhes da distância. Mas você pode usar as frases de destaque de ETA.
Como configurar o formato de chamada de rota
Para mudar o formato do balão de rota, chame 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 trajeto padrão de melhor trajeto. Mostra a distância restante ao usar a estratégia de trajeto mais curto. |
| 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 de texto explicativo de rota.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);