Penghitungan rute (termasuk perubahan rute) menampilkan rute yang memerlukan waktu navigasi paling sedikit 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 yang absolut, karena opsi tersebut mungkin merupakan alternatif yang buruk. Misalnya, jika rute terpendek absolut adalah 10 km dan memerlukan waktu navigasi 50 menit serta rute lainnya berjarak 15 km, tetapi hanya membutuhkan waktu 20 menit untuk navigasi, pilihan kedua akan optimal, karena menghabiskan 30 menit untuk mengurangi lima km bukanlah kompromi yang baik.
Setelah Anda menetapkan strategi pemilihan rute untuk perjalanan, strategi ini tidak akan berubah hingga perjalanan tersebut selesai. Untuk mengubah strategi pemilihan rute untuk perjalanan yang ada, Anda harus menghapus tujuan dan meresetnya lagi dengan strategi pemilihan rute yang baru.
Mendapatkan detail rute
Untuk menentukan strategi rute mana yang merupakan pilihan optimal untuk titik jalan
tertentu, panggil getRouteInfo()
guna mendapatkan detail rute untuk
rute terbaik default dan rute yang benar-benar lebih pendek. Detailnya mencakup durasi
dan jarak ke titik jalan tujuan.
Detail ini berasal dari RouteInfo
, dan ditampilkan di
ListenableResultFuture
.
Contoh
Contoh kode berikut menunjukkan cara mendapatkan detail rute untuk kedua strategi perutean tersebut.
ListenableResultFuture<RouteInfo> routeInfoFuture =
navigator.getRouteInfo(waypoint, routingOptions);
Menetapkan strategi pemilihan rute
Anda dapat mengonfigurasi strategi pemilihan rute dengan menetapkan RoutingOptions.routingStrategy
saat memanggil setDestinations()
.
RoutingOptions.routingStrategy
mengambil salah satu nilai enumerasi berikut:
Nilai Enumerasi | Deskripsi |
---|---|
RoutingStrategy.DEFAULT_BEST | Memberi peringkat rute menurut model biaya default Navigation SDK. Ini adalah strategi perutean default. |
RoutingStrategy.SHORTER | Menentukan peringkat rute menurut jarak. Rute peringkat tertinggi adalah rute terpendek dari rute 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 menyertakan kapal feri. Jika memilih untuk 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
Pada preferensi rute yang lebih pendek, info di sepanjang rute akan menampilkan detail jarak. Namun, Anda dapat menggunakan info PWT.
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 Enumerasi | Deskripsi |
---|---|
RouteCalloutInfoFormat.DEFAULT | Menampilkan waktu tersisa saat menggunakan strategi pemilihan rute rute terbaik default. Menampilkan jarak yang tersisa saat menggunakan strategi pemilihan rute rute yang lebih pendek. |
RouteCalloutInfoFormat.TIME | Menampilkan sisa waktu. |
RouteCalloutInfoFormat.DISTANCE | Menampilkan jarak yang tersisa. |
Contoh
Contoh kode berikut menunjukkan cara mengonfigurasi format info rute.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);