Компонент расширенного поиска мест
Компонент "Расширенный поиск мест" предлагает те же функции, что и основной поиск мест. Вы также можете настроить командные кнопки компонента и применить параметры поиска и фильтрации к отзывам и медиаконтенту.
Расширенная конфигурация поиска мест
Используйте AdvancedPlaceSearchFragment, чтобы получить доступ к продвинутым функциям.
Настроить командные кнопки
Используйте интерфейс PlaceActionProvider в AdvancedPlaceSearchFragment, чтобы определить и настроить кнопки действий.
Требования к визуальному указанию авторства
Важно! Вы должны четко сообщать пользователям, когда кнопка специального действия будет передавать их информацию третьим лицам, не связанным с 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) } }