Komponent Zaawansowane wyszukiwanie miejsc
Wersja Advanced komponentu wyszukiwania miejsc oferuje te same funkcje co Place Search Essentials. Umożliwia też konfigurowanie przycisków poleceń komponentu oraz stosowanie opcji wyszukiwania i filtrowania do wyświetlanych opinii i multimediów.
Zaawansowana konfiguracja 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 poinformować użytkowników, kiedy niestandardowy przycisk działania udostępni informacje o użytkowniku innej firmie niż Google. Zobacz wymagania dotyczące podania źródła wizualnego.
Przykład pokazuje niestandardowy obraz, który wyraźnie wskazuje, że informacje o użytkowniku zostaną wysłane do „Altostrat”.
Stosowanie opcji wyszukiwania i filtrowania
Użyj interfejsów SearchMediaOptions i SearchReviewsOptions w 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)
Słuchanie 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) } }