عنصر «جستجوی پیشرفته مکان»
نسخه «پیشرفته» عنصر «جستجوی مکان» همان ویژگیهای ملزومات جستجوی مکان را ارائه میدهد. همچنین به شما امکان میدهد دکمههای کنش مؤلفه را پیکربندی کنید و گزینههای جستجو و فیلتر کردن را روی مرورها و رسانههایی که ظاهر میشوند اعمال کنید.
پیکربندی «جستجوی پیشرفته مکان»
از 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) } }