مكوّن "البحث المتقدّم عن الأماكن"

يوفّر الإصدار المتقدّم من مكوّن "البحث عن الأماكن" الميزات نفسها التي يوفّرها الإصدار الأساسي من "البحث عن الأماكن". ويتيح لك أيضًا ضبط أزرار الإجراءات الخاصة بالمكوّن وتطبيق خيارات البحث والفلترة على المراجعات والوسائط التي تظهر.

الإعدادات المتقدّمة لميزة "البحث عن الأماكن"

استخدِم 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)
    }
}