Navigation SDK for Android menawarkan cara yang lebih baik untuk menentukan titik jalan, sehingga memberikan perutean yang lebih akurat dan pengalaman kedatangan yang lebih baik, terutama untuk tujuan dengan beberapa pintu masuk atau titik navigasi tertentu. Anda dapat
menemukan rute ke lokasi yang akurat menggunakan navigationPointToken atau dengan menggabungkan
koordinat lintang dan bujur dengan ID Tempat untuk menambahkan konteks. Fitur penyorotan tujuan akan terus dilakukan jika berlaku.
Latar belakang
Sebelum v7.4, Anda dapat menentukan Waypoint menggunakan koordinat lintang dan bujur atau ID Tempat. Meskipun terkadang efektif, perutean
hanya ke garis lintang dan bujur terkadang dapat menyebabkan titik keluar atau
penjemputan yang kurang optimal, terutama untuk tempat besar, taman, atau bangunan dengan beberapa
pintu masuk. Hasilnya mungkin akan menyesuaikan dengan 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 perutean yang paling akurat ke titik navigasi tertentu seperti pintu masuk,
tempat bongkar muat, atau area pengambilan yang ditentukan, Anda dapat menggunakan
navigationPointToken. Token ini diperoleh dengan memanggil metode destinations
API Geocoding. Objek ini merepresentasikan
titik navigasi spesifik yang dapat dirutekan dan terkait dengan suatu tempat.
Untuk menentukan token Titik Navigasi:
- Dapatkan
navigationPointTokendari respons Destinations method of the Geocoding API. - Buat
Waypointmenggunakan metodesetNavigationPointToken()di builder.
Catatan: Saat menggunakan setNavigationPointToken(), Anda tidak dapat menggunakan
setLatLng() atau setPlaceIdString() secara bersamaan. Metode ini tidak dapat muncul bersamaan dengan
setNavigationPointToken().
// 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()
Gabungkan ID Tempat dan lintang serta bujur
Mulai v7.4, Anda dapat memberikan kedua ID Tempat dan koordinat garis lintang dan bujur saat membuat Waypoint. Metode ini berguna saat Anda ingin
menentukan titik yang tepat (lat/lng) sambil tetap memberikan konteks
tempat secara keseluruhan (ID Tempat). Hal ini memungkinkan Navigation SDK memberikan pengalaman kedatangan yang lebih kaya dengan menandai bangunan tujuan atau menampilkan tempat menarik terdekat 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 terutama menargetkan
latlngyang ditentukan. placeIddigunakan sebagai konteks untuk meningkatkan pengalaman kedatangan.- Pengalihan: Jika SDK menentukan bahwa
placeIdyang diberikan sesuai dengan fitur yang terlalu jauh darilatlngyang diberikan,placeIdakan diabaikan. Dalam skenario ini, perutean 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 | Sorotan tujuan |
|---|---|---|---|---|---|
| Hanya koordinat lintang/bujur | tetapkan | tidak ada | tidak ada | Merutekan ke segmen jalan terdekat dengan koordinat yang ditentukan | Ditampilkan jika tujuan dapat disimpulkan dengan tingkat keyakinan yang tinggi |
| Hanya ID tempat | tidak ada | tetapkan | tidak ada | Rute ke titik navigasi default untuk ID Tempat | Dari ID Tempat |
| Token titik navigasi saja | tidak ada | tidak ada | tetapkan | Rute ke titik navigasi presisi yang diwakili oleh token | Dari tujuan yang ditentukan dalam metode tujuan Geocoding API asli |
| Koordinat lintang/bujur dan ID Tempat digabungkan | tetapkan | tetapkan | tidak ada | Merutekan ke segmen jalan terdekat dengan koordinat yang ditentukan | Dari ID Tempat, meskipun tidak ditampilkan jika ID Tempat terlalu jauh dari koordinat lintang/bujur |