Componente Advanced Place Search

La versión avanzada del componente Place Search ofrece las mismas funciones que Place Search Essentials. También te permite configurar los botones de acción del componente y aplicar opciones de búsqueda y filtrado a las opiniones y el contenido multimedia que aparecen.

Configuración avanzada de Place Search

Usa AdvancedPlaceSearchFragment para acceder a las funciones avanzadas.

Configura los botones de acción

Usa la interfaz PlaceActionProvider de AdvancedPlaceSearchFragment para definir y personalizar los botones de acción.

Requisitos de atribución visual

Vista de Advanced Place Search con botones personalizados
Resultado de la Búsqueda de Lugares con un botón personalizado

Importante: Debes dejar en claro a los usuarios cuándo un botón de acción personalizado compartirá información del usuario con un tercero que no sea Google. Consulta los requisitos de atribución visual.

En el ejemplo, se muestra una imagen personalizada que deja en claro que la información del usuario se enviará a "Altostrat".

Aplica opciones de búsqueda y filtrado

Usa las interfaces SearchMediaOptions y SearchReviewsOptions de AdvancedPlaceSearchFragment para habilitar la búsqueda y el filtrado de contenido multimedia o opiniones.

Ejemplos de Advanced Place Search

Crea un fragmento de 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)


        

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