کامپوننت فهرست مکان پیشرفته

کامپوننت Advanced Place List به شما امکان می‌دهد لیستی از مکان‌ها را تعریف و نمایش دهید. می‌توانید تا 20 مکان را از همان مجموعه هویت‌های پشتیبانی شده توسط کامپوننت Place Details (شناسه‌های مکان، نام‌های منابع مکان یا مختصات طول/عرض) فهرست کنید.

شما می‌توانید نمایش لیست را به صورت افقی یا عمودی انتخاب کنید. جهت پیش‌فرض عمودی است. همان اطلاعات و گزینه‌های پیکربندی کارت‌های جزئیات مکان فشرده و کامل برای هر مورد از لیست در دسترس هستند.

برای ایجاد یک لیست از رابط 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)
    }
}