Composant Advanced Place Search

La version avancée du composant Place Search offre les mêmes fonctionnalités que Place Search Essentials. Il vous permet également de configurer les boutons d'action du composant et d'appliquer des options de recherche et de filtrage aux avis et aux contenus multimédias qui s'affichent.

Configuration avancée de la recherche de lieux

Utilisez l'icône AdvancedPlaceSearchFragment pour accéder aux fonctionnalités avancées.

Configurer les boutons d'action

Utilisez l'interface PlaceActionProvider de AdvancedPlaceSearchFragment pour définir et personnaliser les boutons d'action.

Exigences concernant l'attribution visuelle

Vue AdvancedPlace Search avec des boutons personnalisés
Résultat de Place Search avec bouton personnalisé

Important : Vous devez indiquer clairement aux utilisateurs quand un bouton d'action personnalisée partage des informations utilisateur avec un tiers autre que Google. Consultez les exigences concernant l'attribution visuelle.

L'exemple montre une image personnalisée qui indique clairement que les informations de l'utilisateur seront envoyées à "Altostrat".

Appliquer des options de recherche et de filtrage

Utilisez les interfaces SearchMediaOptions et SearchReviewsOptions de AdvancedPlaceSearchFragment pour activer la recherche et le filtrage de contenus multimédias ou d'avis.

Exemples de recherche avancée de lieux

Créer un fragment 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)


        

Écouter les résultats

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