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

הגרסה המתקדמת של רכיב חיפוש המקומות מציעה את אותן תכונות כמו Place Search Essentials. בנוסף, אפשר להגדיר את לחצני הפעולה של הרכיב ולהחיל אפשרויות חיפוש וסינון על הביקורות והמדיה שמופיעות.

הגדרה מתקדמת של חיפוש מקומות

כדי לקבל גישה לתכונות המתקדמות, צריך להשתמש בAdvancedPlaceSearchFragment.

הגדרת לחצני פעולה

משתמשים בממשק PlaceActionProvider של AdvancedPlaceSearchFragment כדי להגדיר ולהתאים אישית לחצני פעולה.

דרישות לייחוס חזותי

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

חשוב: עליכם להבהיר למשתמשים מתי לחצן פעולה מותאם אישית ישתף את פרטי המשתמש עם צד שלישי שאינו Google. דרישות לגבי שיוך חזותי

בדוגמה מוצגת תמונה בהתאמה אישית שבה מצוין בבירור שפרטי המשתמש יישלחו אל Altostrat.

שימוש באפשרויות חיפוש וסינון

אפשר להשתמש בממשקי SearchMediaOptions ו-SearchReviewsOptions של AdvancedPlaceSearchFragment כדי להפעיל חיפוש וסינון של מדיה או ביקורות.

דוגמאות לחיפוש מתקדם של מקומות

יצירת רכיב AdvancedPlaceSearch

Kotlin

// Initialize Places first
Places.initializeWithNewPlacesApiEnabled(context, API_KEY)

// How the fragment is created
AdvancedPlaceSearchFragment.newInstance(
          selectedContent,
          orientation,
          R.style.BrandedPlaceDetailsTheme,
        )

// Fragment supports the same configs that PlaceSearchFragment supported
fragment.preferTruncation = false
fragment.attributionPosition = AttributionPosition.BOTTOM
fragment.selectable = true

        

Kotlin

// Performing a search works the same as with a regular placeSearchFragment.

advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest)

advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)


        

האזנה לתוצאות

Kotlin

// attach the existing PlaceSearchFragmentListener to get notified about 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, its functionally identical but with a new name.  
      is AdvancedPlaceListFragment -> fragment.registerListener(advancedPlaceListFragmentListener)
    }
}