Thành phần Tìm kiếm địa điểm nâng cao
Phiên bản Nâng cao của thành phần Tìm kiếm địa điểm cung cấp các tính năng giống như Tìm kiếm địa điểm cơ bản. Thành phần này cũng cho phép bạn định cấu hình các nút hành động của thành phần, đồng thời áp dụng các lựa chọn tìm kiếm và lọc cho các bài đánh giá và nội dung nghe nhìn xuất hiện.
Cấu hình Tìm kiếm địa điểm nâng cao
Sử dụng AdvancedPlaceSearchFragment để sử dụng các tính năng nâng cao.
Định cấu hình nút hành động
Sử dụng giao diện PlaceActionProvider của AdvancedPlaceSearchFragment để xác định và tuỳ chỉnh các nút hành động.
Yêu cầu về việc ghi nhận tác giả bằng hình ảnh
Quan trọng: Bạn phải thông báo rõ cho người dùng khi một nút hành động tuỳ chỉnh sẽ chia sẻ thông tin người dùng với một bên thứ ba không phải Google. Xem yêu cầu về thông tin ghi công bằng hình ảnh.
Ví dụ này cho thấy một hình ảnh tuỳ chỉnh nêu rõ rằng thông tin người dùng sẽ được gửi đến "Altostrat".
Áp dụng các lựa chọn tìm kiếm và lọc
Sử dụng giao diện SearchMediaOptions và SearchReviewsOptions của AdvancedPlaceSearchFragment để bật tính năng tìm kiếm và lọc nội dung nghe nhìn hoặc bài đánh giá.
Ví dụ về tính năng Tìm kiếm địa điểm nâng cao
Tạo mảnh 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
Thực hiện tìm kiếm
Kotlin
// Performing a search works the same as with a regular placeSearchFragment. advancedPlaceSearchFragment.configureFromSearchByTextRequest(searchByTextRequest) advancedPlaceSearchFragment.configureFromSearchNearbyRequest(searchNearbyRequest)
Nghe kết quả
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) } }