کامپوننت جستجوی پیشرفته مکان
نسخه پیشرفته کامپوننت Place Search همان ویژگیهای Place Search Essentials را ارائه میدهد. همچنین به شما امکان میدهد دکمههای عملیاتی کامپوننت را پیکربندی کنید و گزینههای جستجو و فیلتر را برای نظرات و رسانههایی که ظاهر میشوند اعمال کنید.
پیکربندی جستجوی پیشرفته مکان
برای دسترسی به ویژگیهای پیشرفته، از AdvancedPlaceSearchFragment استفاده کنید.
پیکربندی دکمههای عملیاتی
از رابط PlaceActionProvider مربوط به AdvancedPlaceSearchFragment برای تعریف و سفارشیسازی دکمههای عملیاتی استفاده کنید.
الزامات انتساب بصری
مهم: شما باید برای کاربران روشن کنید که چه زمانی یک دکمه اقدام سفارشی، اطلاعات کاربر را با شخص ثالثی غیر از گوگل به اشتراک میگذارد. به الزامات انتساب بصری مراجعه کنید.
این مثال یک تصویر سفارشی را نشان میدهد که به وضوح نشان میدهد اطلاعات کاربر به «Altostrat» ارسال خواهد شد.
اعمال گزینههای جستجو و فیلتر
از رابطهای SearchMediaOptions و SearchReviewsOptions از AdvancedPlaceSearchFragment برای فعال کردن جستجو و فیلتر کردن رسانهها یا نظرات استفاده کنید.
مثالهای جستجوی پیشرفته مکان
ایجاد یک قطعه جستجوی پیشرفته (AdvancedPlaceSearch)
کاتلین
// 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
انجام جستجو
کاتلین
// Performing a search works the same as with a regular placeSearchFragment. advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest) advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)
به نتایج گوش دهید
کاتلین
// 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) } }