Erweiterte Komponenten für Ortslisten

Mit der Komponente „Erweiterte Ortsliste“ können Sie eine Liste von Orten definieren und anzeigen. Sie können bis zu 20 Orte aus derselben Gruppe von Identitäten auflisten, die von der Komponente „Ortsdetails“ unterstützt werden (Orts-IDs, Ortsressourcennamen oder Breiten-/Längengradkoordinaten).

Sie können zwischen einer horizontalen oder vertikalen Listendarstellung wählen. Die Standardausrichtung ist vertikal. Für jedes Listenelement sind dieselben Informationen und Konfigurationsoptionen wie für die kompakten und vollständigen Ortsdetailkarten verfügbar.

Verwenden Sie die PlaceActionProvider-Schnittstelle von AdvancedPlaceListFragment, um eine Liste zu erstellen.

Abrechnung

Jede Listenanfrage wird in Rechnung gestellt. Jede Änderung an der Liste ist ein neues abrechenbares Ereignis.

Beispiel

AdvancedPlaceList-Fragment erstellen

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  

Ortsliste anzeigen

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

Ergebnisse anhören

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