Penghitungan rute (termasuk perubahan rute) menampilkan rute yang memerlukan waktu paling sedikit untuk dinavigasi sebagai rute terbaik default. Namun, Anda dapat mengubah strategi pemilihan rute sehingga alternatif rute yang lebih pendek akan ditampilkan.
Istilah lebih singkat berarti rute yang paling singkat di antara rute optimal berdasarkan model biaya default kami. Rute yang lebih pendek mungkin bukan rute absolut terpendek, karena opsi tersebut mungkin merupakan alternatif yang buruk. Misalnya, jika rute terpendek mutlak adalah 10 km dan memerlukan waktu 50 menit untuk dilalui, dan rute lain adalah 15 km, tetapi hanya memerlukan waktu 20 menit untuk dilalui, 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 meresetnya lagi dengan strategi pemilihan rute baru.
Mendapatkan detail rute
Untuk menentukan strategi rute mana yang merupakan pilihan optimal untuk titik jalan
tertentu, panggil getRouteInfo()
untuk mendapatkan detail rute untuk
rute terbaik default dan rute yang lebih singkat secara absolut. Detail mencakup durasi
dan jarak ke titik jalan tujuan.
Detail ini berasal dari RouteInfo
, dan ditampilkan dalam
ListenableResultFuture
.
Contoh
Contoh kode berikut menunjukkan cara mendapatkan detail rute untuk setiap dua strategi pemilihan rute.
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
menggunakan salah satu nilai enumerasi
berikut:
Nilai Enumerasi | Deskripsi |
---|---|
RoutingStrategy.DEFAULT_BEST | Mengurutkan rute menurut model biaya default Navigation SDK. Ini adalah strategi pemilihan rute default. |
RoutingStrategy.SHORTER | Mengurutkan 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 feri. Jika
lebih memilih untuk menyertakan opsi feri sebagai bagian dari rute, Anda dapat menyesuaikan
preferensi pemilihan rute ini untuk mengekspos 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 akan 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
mengambil salah satu nilai enumerasi berikut:
Nilai Enumerasi | Deskripsi |
---|---|
RouteCalloutInfoFormat.DEFAULT | Menampilkan waktu yang tersisa saat menggunakan strategi pemilihan rute terbaik default. Menampilkan jarak yang tersisa saat menggunakan strategi perutean rute yang lebih singkat. |
RouteCalloutInfoFormat.TIME | Menampilkan sisa waktu. |
RouteCalloutInfoFormat.DISTANCE | Menampilkan jarak yang tersisa. |
Contoh
Contoh kode berikut menunjukkan cara mengonfigurasi format pemberitahuan rute.
mNavFragment.setRouteCalloutInfoFormat(RouteCalloutInfoFormat.TIME);