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

Tampilan AdvancedPlace Search dengan tombol yang disesuaikan
Hasil Penelusuran Tempat dengan tombol yang disesuaikan

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

        

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)
    }
}