Komponent Zaawansowane wyszukiwanie miejsc
Wersja zaawansowana komponentu Wyszukiwanie miejsc oferuje te same funkcje co Wyszukiwanie miejsc w wersji podstawowej. Umożliwia też konfigurowanie przycisków działania komponentu oraz stosowanie opcji wyszukiwania i filtrowania wyświetlanych opinii i multimediów.
Konfiguracja zaawansowanego wyszukiwania miejsc
Aby uzyskać dostęp do funkcji zaawansowanych, kliknij AdvancedPlaceSearchFragment.
Konfigurowanie przycisków działań
Użyj interfejsu PlaceActionProvider AdvancedPlaceSearchFragment, aby zdefiniować i dostosować przyciski poleceń.
Wymagania dotyczące atrybucji wizualnej
Ważne: musisz wyraźnie informować użytkowników, kiedy niestandardowy przycisk działania będzie udostępniać informacje o użytkowniku podmiotom trzecim innym niż Google. Zobacz wymagania dotyczące atrybucji wizualnej.
Przykład pokazuje obraz niestandardowy, który wyraźnie informuje, że dane użytkownika zostaną wysłane do „Altostrat”.
Stosowanie opcji wyszukiwania i filtrowania
Użyj interfejsów SearchMediaOptions i SearchReviewsOptions AdvancedPlaceSearchFragment, aby włączyć wyszukiwanie i filtrowanie multimediów lub opinii.
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
Wyszukiwanie
Kotlin
// Performing a search works the same as with a regular placeSearchFragment. advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest) advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)
Odsłuchiwanie wyników
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) } }