Penghitungan rute (termasuk pemilihan rute ulang) menampilkan rute yang memerlukan waktu tersingkat untuk navigasi sebagai rute terbaik default. Namun, Anda dapat mengubah strategi pemilihan rute sehingga alternatif rute 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 absolut, karena opsi tersebut mungkin merupakan alternatif yang buruk. Misalnya, jika rute terpendek absolut adalah 10 km dan memerlukan waktu 50 menit untuk navigasi dan rute lain adalah 15 km, tetapi hanya memerlukan waktu 20 menit untuk navigasi, pilihan kedua adalah yang optimal, karena menghabiskan waktu 30 menit untuk mengurangi lima km bukanlah pilihan 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 menyetelnya lagi dengan strategi pemilihan rute 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 Enumerasi | Deskripsi |
|---|---|
| RoutingStrategy.DEFAULT_BEST | Menentukan peringkat rute berdasarkan model biaya default Navigation SDK. Ini adalah strategi pemilihan rute default. |
| RoutingStrategy.SHORTER | Menentukan peringkat rute berdasarkan jarak. Rute dengan peringkat tertinggi adalah rute terpendek yang ditampilkan |
Contoh
Contoh kode berikut menunjukkan cara menetapkan preferensi rute yang lebih pendek.
RoutingOptions routingOptions = new RoutingOptions();
routingOptions.routingStrategy(RoutingStrategy.SHORTER);
navigator.setDestinations(destinations, routingOptions, displayOptions);
Rute yang mencakup kapal feri
Secara default, NavSDK mengecualikan rute yang mencakup kapal feri. Jika Anda lebih suka menyertakan opsi kapal feri sebagai bagian dari rute, Anda dapat menyesuaikan preferensi pemilihan rute ini untuk menampilkan perjalanan ke segmen kapal feri dengan menetapkan avoidFerries ke false.
Contoh
RoutingOptions routingOptions = new RoutingOptions().avoidFerries(true);
// Add additional routing preferences
navigator.setDestination(destination, routingOptions);
Format info rute
Dalam preferensi rute yang lebih pendek, info di sepanjang rute menampilkan detail jarak. Namun, Anda dapat menggunakan info ETA.
Mengonfigurasi format info rute
Anda dapat mengubah format info rute dengan memanggil setRouteCalloutInfoFormat di NavigationView (atau di NavigationFragment). setRouteCalloutInfoFormat menggunakan salah satu nilai enumerasi berikut:
| Nilai Enumerasi | Deskripsi |
|---|---|
| RouteCalloutInfoFormat.DEFAULT | Menampilkan sisa waktu saat menggunakan strategi pemilihan rute terbaik default strategy. Menampilkan sisa jarak saat menggunakan strategi pemilihan rute yang lebih pendek. |
| RouteCalloutInfoFormat.TIME | Menampilkan sisa waktu. |
| RouteCalloutInfoFormat.DISTANCE | Menampilkan sisa jarak. |
Contoh
Contoh kode berikut menunjukkan cara mengonfigurasi format info rute.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);