Компонент расширенного списка мест
Компонент «Расширенный список мест» позволяет определять и отображать список мест. Вы можете перечислить до 20 мест, используя тот же набор идентификаторов, что и компонент «Подробная информация о месте» (идентификаторы мест, названия ресурсов мест или координаты широты/долготы).
Вы можете выбрать горизонтальное или вертикальное отображение списка. Ориентация по умолчанию — вертикальная. Для каждого элемента списка доступны те же данные и параметры конфигурации, что и для компактных и полных карточек с подробным описанием места .
Для создания списка используйте интерфейс PlaceActionProvider компонента AdvancedPlaceListFragment .
Выставление счетов
С вас взимается плата за каждый запрос к списку, и любое изменение списка является новым платным событием.
Пример
Создайте фрагмент AdvancedPlaceList
Котлин
// 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
Показать список мест
Котлин
// 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
Прислушайтесь к результатам
Котлин
// 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) } }