Dostosowywanie ustawień routingu

Obliczenia trasy (w tym zmiany trasy) zwracają trasę, której pokonanie zajmuje najmniej czasu, jako domyślną najlepszą trasę. Możesz jednak zmienić strategię routingu, aby zwracać krótszą z alternatywnych tras.

Termin krótsza oznacza trasę, która jest najkrótsza spośród optymalnych tras na podstawie naszego domyślnego modelu kosztów. Krótsza trasa może nie być najkrótszą trasą, ponieważ ta opcja może być słabą alternatywą. Jeśli np. najkrótsza trasa ma 10 km i przejechanie jej zajmuje 50 minut, a inna trasa ma 15 km, ale przejechanie jej zajmuje tylko 20 minut, to druga opcja jest optymalna, ponieważ poświęcenie 30 minut na skrócenie trasy o 5 km nie jest dobrym rozwiązaniem.

Po ustawieniu strategii wyznaczania trasy dla podróży nie zmieni się ona do czasu jej zakończenia. Aby zmienić strategię wyznaczania trasy w przypadku istniejącej podróży, musisz usunąć miejsca docelowe i ponownie je ustawić, korzystając z nowej strategii.

Pobieranie szczegółów trasy

Aby określić, która strategia trasy jest optymalna dla danego punktu pośredniego, wywołaj funkcję getRouteInfo(), aby uzyskać szczegóły trasy zarówno w przypadku domyślnej najlepszej trasy, jak i najkrótszej trasy. Szczegóły obejmują czas trwania i odległość do punktu docelowego.

Te informacje pochodzą z RouteInfo i są zwracane w ListenableResultFuture.

Przykład

Poniższy przykład kodu pokazuje, jak uzyskać szczegóły trasy dla każdej z 2 strategii routingu.

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

Ustawianie strategii routingu

Strategię routingu możesz skonfigurować, ustawiając parametr RoutingOptions.routingStrategy podczas wywoływania funkcji setDestinations().

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

Wartość wyliczeniowaOpis
RoutingStrategy.DEFAULT_BEST Ranking tras według domyślnego modelu kosztów pakietu Navigation SDK. Jest to domyślna strategia routingu.
RoutingStrategy.SHORTER Porządkuje trasy według odległości. Najwyżej oceniana trasa jest najkrótszą z tych, które zostały zwrócone.

Przykład

Poniższy przykład kodu pokazuje, jak ustawić preferencję krótszej trasy.

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

Trasy z uwzględnieniem przepraw promowych

Domyślnie NavSDK wyklucza trasy, które obejmują promy. Jeśli wolisz uwzględniać opcje promowe w swoich trasach, możesz dostosować to ustawienie, aby uwzględniać w podróży odcinki promowe, ustawiając avoidFerries na false.

Przykład

RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);

Format objaśnienia trasy

W przypadku preferowania krótszej trasy wywołania wzdłuż trasy wyświetlają szczegóły odległości. Zamiast tego możesz używać wywołań w rozszerzonych reklamach tekstowych.

Konfigurowanie formatu wywołania trasy

Format wywołania trasy możesz zmienić, wywołując setRouteCalloutInfoFormatNavigationView (lub w NavigationFragment). setRouteCalloutInfoFormatprzyjmuje jedną z tych wartości wyliczeniowych:

Wartość wyliczeniowaOpis
RouteCalloutInfoFormat.DEFAULT Wyświetla pozostały czas podczas korzystania z domyślnej strategii wyznaczania najlepszej trasy. Wyświetla pozostałą odległość podczas korzystania ze strategii routingu krótszej trasy.
RouteCalloutInfoFormat.TIME Wyświetla pozostały czas.
RouteCalloutInfoFormat.DISTANCE Wyświetla pozostałą odległość.

Przykład

Poniższy przykład kodu pokazuje, jak skonfigurować format wywołania trasy.

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);