Composant Advanced Place List

Le composant "Liste de lieux avancée" vous permet de définir et d'afficher une liste de lieux. Vous pouvez lister jusqu'à 20 lieux à partir du même ensemble d'identités compatibles avec le composant Place Details (ID de lieu, noms de ressources de lieu ou coordonnées de latitude/longitude).

Vous pouvez choisir d'afficher la liste horizontalement ou verticalement. L'orientation par défaut est verticale. Les mêmes informations et options de configuration que celles des fiches compactes et complètes d'informations sur les lieux sont disponibles pour chaque élément de la liste.

Utilisez l'interface PlaceActionProvider de AdvancedPlaceListFragment pour créer une liste.

Facturation

Chaque demande de liste vous est facturée, et toute modification apportée à la liste constitue un nouvel événement facturable.

Exemple

Créer un fragment 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  

Afficher une liste d'adresses

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

Écouter les résultats

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