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

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

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

כדי לגשת לתכונות המתקדמות, משתמשים ב-AdvancedPlaceSearchFragment.

הגדרת כפתורי פעולה

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

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

תצוגת AdvancedPlace Search עם כפתורים בהתאמה אישית
תוצאת חיפוש מקומות עם כפתור בהתאמה אישית

חשוב: חובה להבהיר למשתמשים מתי כפתור פעולה מותאם אישית ישתף את פרטי המשתמש עם צד שלישי שאינו 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)
    }
}