Komponen Daftar Tempat Lanjutan

Komponen Daftar Tempat Lanjutan memungkinkan Anda menentukan dan menampilkan daftar tempat. Anda dapat mencantumkan hingga 20 tempat dari kumpulan identitas yang sama yang didukung oleh komponen Place Details (ID Tempat, Nama Resource Tempat, atau koordinat lat/long).

Anda dapat memilih tampilan daftar horizontal atau vertikal. Orientasi default adalah vertikal. Opsi informasi dan konfigurasi yang sama seperti kartu detail tempat ringkas dan lengkap tersedia untuk setiap item daftar.

Gunakan antarmuka PlaceActionProvider dari AdvancedPlaceListFragment untuk membuat daftar.

Penagihan

Anda akan ditagih untuk setiap permintaan daftar, dan setiap perubahan pada daftar adalah peristiwa baru yang dapat ditagih.

Contoh

Membuat fragmen AdvancedPlaceList

Kotlin

// Initialize first
Places.initializeWithNewPlacesApiEnabled(context, API_KEY)

// how fragment is created
AdvancedPlaceListFragment.newInstance(
          selectedContent,
          orientation,
          R.style.BrandedPlaceDetailsTheme,
        )

// fragments support the same configurations that PlaceSearchFragment supports
fragment.preferTruncation = false
fragment.attributionPosition = AttributionPosition.BOTTOM
fragment.mediaSize = AdvancedPlaceListFragment.MediaSize.SMALL
fragment.selectable = true  

Menampilkan Daftar Tempat

Kotlin

// You can use resourceNames or placeIds
advancedPlaceListFragment.configureFromPlaceIds(placeIds)

advancedPlaceListFragment.configureFromResourceNames(resourceNames)

// Alternatively, use coordinates, which are a list of LatLng:
advancedPlaceListFragment.configureFromCoordinates(coordinates)
// Uses reverse geocoding to get the place

Mendengarkan hasil

Kotlin

// Attach the existing PlaceSearchFragmentListener to get notified 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, it's functionally identical but with a new name.  
      is AdvancedPlaceListFragment -> fragment.registerListener(advancedPlaceListFragmentListener)
    }
}