רכיב חיפוש מקומות מתקדם
גרסת Advanced של רכיב חיפוש המקומות מציעה את אותן תכונות כמו 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) } }