Компонент расширенного поиска мест

Расширенная версия компонента «Поиск мест» предлагает те же функции, что и базовая версия . Она также позволяет настраивать кнопки действий компонента и применять параметры поиска и фильтрации к отображаемым отзывам и медиафайлам.

Расширенные настройки поиска мест

Используйте AdvancedPlaceSearchFragment для доступа к расширенным функциям.

Настройка кнопок действий

Используйте интерфейс PlaceActionProvider компонента AdvancedPlaceSearchFragment для определения и настройки кнопок действий.

Требования к визуальному указанию авторства

Расширенный поиск мест с настраиваемыми кнопками.
Разместите результат поиска с помощью настраиваемой кнопки.

Важно: необходимо четко указывать пользователям, когда пользовательская кнопка действия будет передавать информацию о пользователе третьей стороне, помимо Google. См. требования к визуальной атрибуции .

В примере показано пользовательское изображение, которое наглядно демонстрирует, что информация о пользователе будет отправлена ​​в компанию «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)
    }
}