Merutekan ke titik navigasi

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:

  1. Dapatkan navigationPointToken dari respons Destinations method of the Geocoding API.
  2. Buat Waypoint menggunakan metode setNavigationPointToken() 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 latlng yang ditentukan.
  • placeId digunakan sebagai konteks untuk meningkatkan pengalaman kedatangan.
  • Pengalihan: Jika SDK menentukan bahwa placeId yang diberikan sesuai dengan fitur yang terlalu jauh dari latlng yang diberikan, placeId akan diabaikan. Dalam skenario ini, perutean hanya akan dilanjutkan ke latlng, 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