Componente Advanced Place Search
A versão avançada do componente Place Search oferece os mesmos recursos do Place Search Essentials. Também é possível configurar os botões de ação do componente e aplicar opções de pesquisa e filtragem às avaliações e mídias que aparecem.
Configuração avançada da pesquisa de lugar
Use o AdvancedPlaceSearchFragment para acessar recursos avançados.
Configurar botões de ação
Use a interface PlaceActionProvider do AdvancedPlaceSearchFragment para definir e personalizar botões de ação.
Requisitos de atribuição visual
Importante:você precisa deixar claro para os usuários quando um botão de ação personalizada compartilhar informações com terceiros que não sejam o Google. Consulte os requisitos de atribuição visual.
O exemplo mostra uma imagem personalizada que deixa claro que as informações do usuário serão enviadas para "Altostrat".
Usar opções de pesquisa e filtragem
Use as interfaces SearchMediaOptions e SearchReviewsOptions do AdvancedPlaceSearchFragment para ativar a pesquisa e a filtragem de mídia ou avaliações.
Exemplos de pesquisa avançada de lugares
Criar um fragmento 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
Fazer uma pesquisa
Kotlin
// Performing a search works the same as with a regular placeSearchFragment. advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest) advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)
Ouvir os resultados
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) } }