Компонент расширенного поиска мест
Расширенная версия компонента «Поиск мест» предлагает те же функции, что и базовая версия . Она также позволяет настраивать кнопки действий компонента и применять параметры поиска и фильтрации к отображаемым отзывам и медиафайлам.
Расширенные настройки поиска мест
Используйте 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) } }