Menyesuaikan preferensi rute

Penghitungan rute (termasuk pengubahan rute) menampilkan rute yang memerlukan waktu paling sedikit untuk dinavigasi sebagai rute terbaik default. Namun, Anda dapat mengubah strategi pemilihan rute sehingga rute alternatif yang lebih pendek akan ditampilkan.

Istilah lebih pendek berarti rute yang terpendek di antara rute optimal berdasarkan model biaya default kami. Rute yang lebih pendek mungkin bukan rute terpendek mutlak, karena opsi tersebut mungkin merupakan alternatif yang buruk. Misalnya, jika rute terpendek mutlak adalah 10 km dan memerlukan waktu 50 menit untuk menavigasi dan rute lain adalah 15 km, tetapi hanya memerlukan waktu 20 menit untuk menavigasi, pilihan kedua adalah yang optimal, karena menghabiskan 30 menit untuk mengurangi lima km bukanlah kompromi yang baik.

Setelah Anda menetapkan strategi pemilihan rute untuk perjalanan, strategi tersebut tidak akan berubah hingga perjalanan selesai. Untuk mengubah strategi pemilihan rute untuk perjalanan yang ada, Anda harus menghapus tujuan dan meresetnya lagi dengan strategi pemilihan rute yang baru.

Menetapkan strategi pemilihan rute

Anda dapat mengonfigurasi strategi pemilihan rute dengan menetapkan RoutingOptions.routingStrategy saat memanggil setDestinations().

RoutingOptions.routingStrategy menggunakan salah satu nilai enumerasi berikut:

Nilai EnumerasiDeskripsi
RoutingStrategy.DEFAULT_BEST Memberi peringkat rute berdasarkan model biaya default Navigation SDK. Ini adalah strategi pemilihan rute default.
RoutingStrategy.SHORTER Memberi peringkat rute berdasarkan jarak. Rute dengan peringkat tertinggi adalah rute terpendek dari rute yang ditampilkan.

Contoh

Contoh kode berikut menunjukkan cara menetapkan preferensi rute yang lebih singkat.

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

Rute yang mencakup feri

Secara default, NavSDK mengecualikan rute yang menyertakan kapal feri. Jika Anda lebih suka menyertakan opsi feri sebagai bagian dari rute, Anda dapat menyesuaikan preferensi pemilihan rute ini untuk menampilkan perjalanan ke segmen feri dengan menetapkan avoidFerries ke false.

Contoh

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

Format info rute

Di bagian preferensi rute yang lebih singkat, info di sepanjang rute menampilkan detail jarak. Namun, Anda dapat menggunakan info ETA sebagai gantinya.

Mengonfigurasi format info rute

Anda dapat mengubah format info rute dengan memanggil setRouteCalloutInfoFormat di NavigationView (atau di NavigationFragment). setRouteCalloutInfoFormat mengambil salah satu nilai enumerasi berikut:

Nilai EnumerasiDeskripsi
RouteCalloutInfoFormat.DEFAULT Menampilkan sisa waktu saat menggunakan strategi pemilihan rute default, yaitu rute terbaik. Menampilkan sisa jarak saat menggunakan strategi pemilihan rute yang lebih pendek.
RouteCalloutInfoFormat.TIME Menampilkan waktu yang tersisa.
RouteCalloutInfoFormat.DISTANCE Menampilkan sisa jarak.

Contoh

Contoh kode berikut menunjukkan cara mengonfigurasi format info rute.

mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);