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

Visualização AdvancedPlace Search com botões personalizados
Resultado da pesquisa de lugar com botão personalizado

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

        

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)
    }
}