Komponent Wyszukiwanie miejsc (wersja zaawansowana)

Zaawansowana wersja komponentu Wyszukiwanie miejsc oferuje te same funkcje co Wyszukiwanie miejsc Essentials. Umożliwia też konfigurowanie przycisków poleceń komponentu oraz stosowanie opcji wyszukiwania i filtrowania do wyświetlanych opinii i multimediów.

Konfiguracja zaawansowanego wyszukiwania miejsc

Aby uzyskać dostęp do funkcji zaawansowanych, użyj AdvancedPlaceSearchFragment.

Konfigurowanie przycisków poleceń

Aby zdefiniować i dostosować przyciski poleceń, użyj interfejsu PlaceActionProvider w AdvancedPlaceSearchFragment.

Wymagania dotyczące podania źródła wizualnego

Widok wyszukiwania miejsc zaawansowanych z przyciskami konfigurowalnymi
Wynik wyszukiwania miejsc z przyciskiem konfigurowalnym

Ważne: musisz wyraźnie informować użytkowników, kiedy niestandardowy przycisk polecenia będzie udostępniać informacje o użytkownikach podmiotom zewnętrznym innym niż Google. Zapoznaj się z wymaganiami dotyczącymi podania źródła.

Przykład pokazuje niestandardowy obraz, który wyraźnie informuje, że informacje o użytkownikach będą wysyłane do „Altostrat”.

Stosowanie opcji wyszukiwania i filtrowania

Aby włączyć wyszukiwanie i filtrowanie multimediów lub opinii, użyj interfejsów SearchMediaOptions i SearchReviewsOptions w AdvancedPlaceSearchFragment.

Przykłady zaawansowanego wyszukiwania miejsc

Tworzenie fragmentu 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)


        

Odsłuchaj wyniki

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