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