רכיב מתקדם של רשימת מקומות

הרכיב "רשימת מקומות מתקדמת" מאפשר להגדיר ולהציג רשימה של מקומות. אפשר להוסיף לרשימה עד 20 מקומות מאותה קבוצת מזהים שנתמכים ברכיב Place Details (מזהי מקומות, שמות של משאבי מקומות או קואורדינטות של קו רוחב/קו אורך).

אתם יכולים לבחור אם להציג את הרשימה בצורה אופקית או אנכית. כיוון ברירת המחדל הוא לאורך. לכל פריט ברשימה יש את אותן אפשרויות מידע והגדרה כמו בכרטיסי פרטי המקום הקומפקטיים והמלאים.

משתמשים בממשק 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)
    }
}