Merutekan ke titik Navigasi

Navigation SDK for iOS 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 akses tertentu. Anda dapat menemukan rute ke lokasi yang tepat menggunakan navigationPointToken atau dengan menggabungkan koordinat lokasi dengan ID Tempat untuk menambahkan konteks.

Fitur penyorotan tujuan akan terus dilakukan jika berlaku.

Latar belakang

Sebelum v10.10, Anda dapat menentukan Waypoint menggunakan koordinat lokasi atau ID Tempat. Meskipun terkadang efektif, perutean hanya ke garis lintang dan bujur terkadang dapat menyebabkan titik pengantaran atau pengambilan yang kurang optimal, terutama untuk tempat besar, taman, atau bangunan dengan beberapa pintu masuk. Hasilnya mungkin akan disesuaikan dengan segmen jalan terdekat, yang mungkin bukan titik akses yang paling nyaman atau benar.

Opsi titik jalan yang ditingkatkan mengatasi hal ini dengan memungkinkan Anda memberikan lebih banyak konteks.

Menggunakan token Titik Navigasi

Untuk perutean yang paling presisi ke titik akses tertentu seperti pintu masuk, tempat bongkar muat, atau area pengambilan yang ditentukan, Anda dapat menggunakan navigationPointToken.

Token ini diperoleh dengan memanggil metode Destinations Geocoding API. 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. Tentukan navigationPointToken tersebut saat Anda membuat GMSNavigationWaypoint.

Catatan: Anda tidak dapat secara bersamaan menentukan token titik Navigasi bersama dengan lokasi dan PlaceID.

Swift

// Create a waypoint using a navigation endpoint token
let waypointTwo = GMSNavigationWaypoint(
  navigationPointToken: "ChIJALijSXPhQkARHmIozCCbXsASEgkFVjYHGH6PgBFrbM7wl3.."
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypointTwo]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

GMSNavigationWaypoint *waypointTwo = [[GMSNavigationWaypoint alloc] initWithNavigationPointToek:@"sampleNavigationPointToken"

Menggabungkan ID Tempat dan Lokasi

Mulai dari v10.10, Anda dapat memberikan kedua ID Tempat dan koordinat lokasi saat membuat titik jalan. Metode ini berguna jika Anda ingin menentukan titik yang tepat (lokasi) sekaligus memberikan konteks tempat secara keseluruhan (ID Tempat). Hal ini memungkinkan Navigation SDK memberikan pengalaman kedatangan yang lebih kaya dengan menandai gedung tujuan atau menampilkan tempat menarik terdekat yang terkait dengan ID Tempat.

Swift

// Create a waypoint using both the latlng and placeID
let waypoint = GMSNavigationWaypoint(
  location: CLLocationCoordinate2DMake(-33.85657945261524, 151.21535034203333),  
  placeID: "ChIJ3S-JXmauEmsRUcIaWtf4MzE",
  title: "Sydney Opera House")

// Route to the waypoint
navigator.setDestinations([waypoint]) { [weak self] routeStatus in
   self?.handleRouteCallback(status: routeStatus)
}

Objective-C

CLLocationCoordinate2D location = CLLocationCoordinate2DMake(47.67, -122.20);
GMSNavigationWaypoint *waypoint = [[GMSNavigationWaypoint alloc] initWithLocation:placeID:coordinate title:@"waypoint from location and placeiD"];

Pertimbangan:

Jika Anda memberikan placeID dan location:

  • Rute terutama menargetkan location 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 location yang diberikan, placeId akan diabaikan. Dalam skenario ini, perutean akan dilanjutkan ke location saja, dan peningkatan pengalaman kedatangan khusus tempat tidak akan tersedia.

Ringkasan Konfigurasi Titik Jalan yang Valid

Spesifikasi location placeID navigationPointToken Perilaku pemilihan rute Sorotan tujuan
Hanya koordinat lokasi 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 lokasi dan ID Tempat digabungkan se 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