Komponen Advanced Place Search
Komponen Place Search versi Lanjutan menawarkan fitur yang sama dengan Dasar-Dasar Penelusuran Place Search. Anda juga dapat mengonfigurasi tombol tindakan komponen dan menerapkan opsi penelusuran dan pemfilteran ke ulasan dan media yang muncul.
Konfigurasi Place Search Lanjutan
Gunakan AdvancedPlaceSearchFragment untuk mengakses fitur lanjutan.
Mengonfigurasi tombol tindakan
Gunakan antarmuka PlaceActionProvider dari AdvancedPlaceSearchFragment untuk menentukan dan menyesuaikan tombol tindakan.
Persyaratan atribusi visual
Penting: Anda harus menjelaskan kepada pengguna kapan tombol tindakan kustom akan membagikan informasi pengguna kepada pihak ketiga selain Google. Lihat persyaratan atribusi visual.
Contoh ini menunjukkan gambar kustom yang memperjelas bahwa informasi pengguna akan dikirim ke "Altostrat".
Menerapkan opsi penelusuran dan pemfilteran
Gunakan antarmuka SearchMediaOptions dan SearchReviewsOptions dari AdvancedPlaceSearchFragment untuk mengaktifkan penelusuran dan pemfilteran untuk media atau ulasan.
Contoh Place Search Lanjutan
Membuat fragmen AdvancedPlaceSearch
Kotlin
// Initialize Places first Places.initializeWithNewPlacesApiEnabled(context, API_KEY) // How the fragment is created AdvancedPlaceSearchFragment.newInstance( selectedContent, orientation, R.style.BrandedPlaceDetailsTheme, ) // Fragment supports the same configs that PlaceSearchFragment supported fragment.preferTruncation = false fragment.attributionPosition = AttributionPosition.BOTTOM fragment.selectable = true
Melakukan penelusuran
Kotlin
// Performing a search works the same as with a regular placeSearchFragment. advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest) advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)
Mendengarkan hasil
Kotlin
// attach the existing PlaceSearchFragmentListener to get notified about when places load or are selected from the results list. override fun onAttachFragment(fragment: Fragment) { super.onAttachFragment(fragment) when (fragment) { // Reuse the placeSearchFragmetnListener from the Essentials version is AdvancedPlaceSearchFragment -> fragment.registerListener(placeSearchFragmentListener) // use placeListFragmentListener, its functionally identical but with a new name. is AdvancedPlaceListFragment -> fragment.registerListener(advancedPlaceListFragmentListener) } }