Navigation SDK for Android menawarkan cara yang lebih baik untuk menentukan titik jalan, atau
titik navigasi, yang memberikan pemilihan rute yang lebih akurat dan pengalaman kedatangan
yang lebih baik, terutama untuk tujuan dengan beberapa pintu masuk atau titik navigasi
tertentu. Anda dapat merutekan ke lokasi presisi menggunakan
navigationPointToken, yang merupakan string yang mengenkode lokasi dan konteks
rute tambahan. Anda juga dapat menggabungkan koordinat lintang dan bujur dengan
ID Tempat untuk konteks tambahan.
Latar belakang
Sebelum v7.4, Anda dapat menentukan Waypoint menggunakan koordinat lintang dan bujur atau ID Tempat. Meskipun terkadang efektif, pemilihan rute hanya ke lintang dan bujur terkadang dapat menyebabkan titik penurunan atau penjemputan yang kurang optimal, terutama untuk lokasi, taman, atau bangunan besar dengan beberapa pintu masuk. Hasilnya mungkin akan dipaskan ke segmen jalan terdekat, yang mungkin bukan
titik navigasi yang paling nyaman atau benar.
Opsi titik jalan yang ditingkatkan mengatasi hal ini dengan memungkinkan lebih banyak konteks diberikan.
Menggunakan token titik navigasi
Untuk pemilihan rute yang paling akurat ke titik navigasi tertentu seperti pintu masuk,
dok muatan, atau area penjemputan yang ditentukan, Anda dapat menggunakan
navigationPointToken. Token ini diperoleh dengan memanggil metode tujuan Geocoding API. Titik ini mewakili titik navigasi tertentu yang dapat dirutekan dan terkait dengan suatu tempat.
Untuk menentukan token Titik Navigasi:
- Dapatkan
navigationPointTokendari respons metode Destinations di Geocoding API. - Buat
Waypointmenggunakan metodesetNavigationPointToken()di builder.
// Assuming 'navPointToken' is a String obtained from the destinations method of the Geocoding API
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithToken = Waypoint.builder()
.setTitle(destinationName)
.setNavigationPointToken(navPointToken)
.build();
// Use this waypoint in navigator.setDestinations()
Menggunakan token titik navigasi dan token rute
Anda dapat mengambil token titik navigasi melalui Geocoding API, mengambil token rute dari Routes API, lalu meneruskan token titik navigasi dan token rute ke Navigation SDK. Hal ini berguna dalam skenario seperti layanan transportasi online atau pengiriman, saat Anda menggunakan Routes API untuk menghitung harga perjalanan dan menginginkan presisi token titik navigasi.
Dengan token rute, Navigation SDK memulai navigasi pada rute yang sama dengan yang Anda gunakan untuk menghitung harga. Hal ini mengurangi risiko rute yang lebih panjang atau lebih pendek digunakan untuk perjalanan, yang dapat menimbulkan "kejutan harga".
Lihat dokumentasi Routes API untuk mengetahui informasi selengkapnya tentang cara menentukan lokasi menggunakan token titik navigasi dan membuat token rute. Lihat "Merencanakan rute" untuk mempelajari cara merencanakan rute menggunakan token rute.
Diagram ini menunjukkan cara aplikasi transportasi online atau pengiriman menggunakan token titik navigasi dan token rute secara bersamaan:
Menggabungkan ID Tempat serta lintang dan bujur
Mulai v7.4, Anda dapat memberikan ID Tempat dan koordinat lintang dan bujur saat membuat Waypoint. Metode ini berguna jika Anda ingin menentukan titik yang tepat (lintang/bujur) sekaligus memberikan konteks tempat secara keseluruhan (ID Tempat). Hal ini memungkinkan Navigation SDK memberikan pengalaman kedatangan yang lebih lengkap dengan menandai bangunan tujuan atau menampilkan lokasi menarik di sekitar yang terkait dengan ID Tempat.
// Assuming 'placeId' is the Place ID String
// Assuming 'lat' and 'lng' are the double values for latitude and longitude
// Assuming 'destinationName' is a String title for the waypoint
Waypoint waypointWithPlaceIdAndLatLng = Waypoint.builder()
.setTitle(destinationName)
.setPlaceIdString(placeId)
.setLatLng(lat, lng)
.build();
// Use this waypoint in navigator.setDestinations()
Pertimbangan
Jika Anda memberikan placeId dan latlng:
- Rute ini terutama menargetkan
latlngyang ditentukan. placeIddigunakan sebagai konteks untuk meningkatkan pengalaman kedatangan.- Penggantian: Jika SDK menentukan bahwa
placeIdyang diberikan sesuai dengan fitur yang terlalu jauh darilatlngyang diberikan,placeIdakan diabaikan. Dalam skenario ini, pemilihan rute hanya akan dilanjutkan kelatlng, dan peningkatan pengalaman kedatangan khusus tempat tidak akan tersedia.
Ringkasan konfigurasi titik jalan yang valid
| Metode | setLatLng() |
setPlaceIdString() |
setNavigationPointToken() |
Perilaku pemilihan rute | Penandaan tujuan |
|---|---|---|---|---|---|
| Hanya koordinat lintang/bujur | tetapkan | tidak ada | tidak ada | Rute ke segmen jalan yang terdekat dengan koordinat yang ditentukan | Ditampilkan jika tujuan dapat disimpulkan dengan keyakinan tinggi |
| Hanya ID Tempat | tidak ada | tetapkan | tidak ada | Rute ke titik navigasi default untuk ID Tempat | ID Tempat Asal |
| Hanya token titik navigasi | tidak ada | tidak ada | tetapkan | Rute ke titik navigasi akurat yang diwakili oleh token | Dari tujuan yang ditentukan dalam permintaan metode tujuan Geocoding API asli |
| Koordinat lintang/bujur dan ID Tempat digabungkan | tetapkan | tetapkan | tidak ada | Rute ke segmen jalan yang terdekat dengan koordinat yang ditentukan | Dari ID Tempat, meskipun tidak ditampilkan jika ID Tempat terlalu jauh dari koordinat lintang/bujur |