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