کامپوننت جستجوی پیشرفته مکان

نسخه پیشرفته کامپوننت 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)
    }
}