Komponen Penelusuran Tempat Lanjutan
Versi Lanjutan dari komponen Penelusuran Tempat menawarkan fitur yang sama dengan Penelusuran Tempat Essentials. Versi ini juga memungkinkan Anda mengonfigurasi tombol tindakan komponen dan menerapkan opsi penelusuran dan pemfilteran ke ulasan dan media yang muncul.
Konfigurasi Penelusuran Tempat 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 menjelaskan 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 Penelusuran Tempat 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)
Memproses 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) } }