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