مكوّن "قائمة الأماكن" المتقدّم

يتيح لك مكوّن "قائمة الأماكن المتقدّمة" تحديد قائمة بالأماكن وعرضها. يمكنك إدراج ما يصل إلى 20 مكانًا من مجموعة الهويات نفسها التي يتيحها مكوّن "تفاصيل المكان" (معرّفات الأماكن أو أسماء موارد الأماكن أو إحداثيات خطوط الطول والعرض).

يمكنك الاختيار من عرض القائمة أفقيًا أو عموديًا. يكون الاتجاه التلقائي عموديًا. تتوفّر المعلومات وخيارات الإعداد نفسها المتوفّرة في بطاقات التفاصيل الكاملة والموجزة الخاصة بالأماكن لكل عنصر في القائمة.

استخدِم واجهة PlaceActionProvider الخاصة بـ AdvancedPlaceListFragment لإنشاء قائمة.

الفوترة

تتم محاسبتك على كل طلب قائمة، وأي تغيير في القائمة هو حدث جديد قابل للفوترة.

مثال

إنشاء جزء 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  

عرض قائمة أماكن

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

الاستماع إلى النتائج

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