Preferowana trasa

Podczas obliczania trasy (z uwzględnieniem zmiany trasy) trasa, która zajmuje najkrótszy czas nawigacji, jest zwracana jako domyślna najlepsza trasa. Możesz jednak zmienić strategię wyznaczania trasy, tak aby zwracana była krótsza trasa alternatywna.

Termin krótszy oznacza, że trasa jest najkrótszą spośród optymalnych wyników wyznaczania tras na podstawie naszego domyślnego modelu kosztów. Krótsza trasa może nie być absolutnie najkrótsza, ponieważ może być słabą alternatywą. Jeśli np. najkrótsza trasa ma 10 km, a nawigacja zajmuje 50 minut, a optymalna krótsza trasa to 15 km i przemierzanie trwa 20 minut, to straty czasu na zredukowanie 5 km nie jest dobrym rozwiązaniem.

Strategia wyznaczania trasy dla trasy nie zmieni się, dopóki trasa nie zostanie zakończona. Aby zmienić strategię wyznaczania trasy, musisz wyczyścić miejsca docelowe i zresetować je ponownie z użyciem nowej strategii.

Konfigurowanie strategii routingu

Możesz skonfigurować nawigację tak, by używała strategii wyznaczania krótszych tras. Aby to zrobić, ustaw RoutingOptions.routingStrategy podczas dzwonienia do: setDestinations().

RoutingOptions.routingStrategy przyjmuje jedną z tych 2 wartości wyliczeniowych:

Wartość wyliczeniaOpis
RoutingStrategy.DEFAULT_BEST Ranking tras według domyślnego modelu kosztów pakietu Navigation SDK. To jest domyślna strategia routingu.
RoutingStrategy.SHORTER Ranking tras według odległości. Trasa o najwyższej pozycji w rankingu to najkrótsza ze zwróconych tras.

Przykład

Poniższy przykładowy kod pokazuje, jak ustawić krótszą strategię routingu trasy.

RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);

Szczegóły trasy

Jeśli krótsza trasa zajmuje zbyt dużo czasu, lepiej wybrać domyślną trasę. Możesz porównać strategie wyznaczania trasy, wywołując getRouteInfo(), aby uzyskać szczegółowe informacje o trasie dla każdej z nich. Szczegóły obejmują czas trwania i odległość do docelowego punktu na trasie.

Pobieram szczegóły trasy

Możesz pobrać szczegóły trasy dla obu strategii routingu (domyślna najlepsza i krótsza trasa) dla pojedynczego punktu pośredniego. Te szczegóły pochodzą z funkcji RouteInfo i są zwracane w funkcji ListenableResultFuture.

Przykład

Poniższy przykładowy kod pokazuje, jak uzyskać szczegóły trasy dla każdej z dwóch strategii routingu.

ListenableResultFuture<RouteInfo> routeInfoFuture =
        navigator.getRouteInfo(waypoint, routingOptions);

Format objaśnienia trasy

W ramach strategii wyznaczania tras na krótszym czasie objaśnienia na trasie wyświetlają informacje o odległości. Możesz jednak użyć objaśnień dotyczących szacowanego czasu dotarcia na miejsce.

Konfigurowanie formatu objaśnienia trasy

Format objaśnienia trasy możesz zmienić, wywołując setRouteCalloutInfoFormat w NavigationView (lub w NavigationFragment). setRouteCalloutInfoFormat przyjmuje jedną z tych wartości wyliczeniowych:

Wartość wyliczeniaOpis
RouteCalloutInfoFormat.DEFAULT Wyświetla pozostały czas, gdy używana jest domyślna strategia wyznaczania tras. Wyświetla pozostały dystans, gdy stosowana jest strategia wyznaczania tras na krótszym czasie.
RouteCalloutInfoFormat.TIME Wyświetla pozostały czas.
RouteCalloutInfoFormat.DISTANCE Wyświetla pozostałą odległość.

Przykład

Poniższy przykładowy kod pokazuje, jak skonfigurować format objaśnienia trasy.

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);