我正在使用GMSAutocompleteResultsViewController在iOS中搜索位置。我写下地点的名字,然后根据关键字得到结果。但问题是我只想搜索学校。所以,如果我键入任何地名,如果它是学校,那么我应该出现在结果中,否则。
只显示几个过滤器,如机构,地区,城市,地址等,但在安卓系统中,它是有学校过滤器
class SearchLocationController: DIBaseController {
var resultsViewController: GMSAutocompleteResultsViewController?
var searchController: UISearchController?
var resultView: UITextView?
override func viewDidLoad() {
super.viewDidLoad()
resultsViewController = GMSAutocompleteResultsViewController()
resultsViewController?.delegate = self
searchController = UISearchController(searchResultsController: resultsViewController)
searchController?.searchResultsUpdater = resultsViewController
let filter = GMSAutocompleteFilter()
filter.type = .establishment
resultsViewController?.autocompleteFilter = filter
searchController?.searchBar.sizeToFit()
navigationItem.titleView = searchController?.searchBar
definesPresentationContext = true
searchController?.hidesNavigationBarDuringPresentation = false
}
}
extension SearchLocationController: GMSAutocompleteResultsViewControllerDelegate {
func resultsController(_ resultsController: GMSAutocompleteResultsViewController,
didAutocompleteWith place: GMSPlace) {
searchController?.isActive = false
}
func resultsController(_ resultsController: GMSAutocompleteResultsViewController,
didFailAutocompleteWithError error: Error){
print("Error: ", error.localizedDescription)
}
func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
UIApplication.shared.isNetworkActivityIndicatorVisible = true
}
func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
UIApplication.shared.isNetworkActivityIndicatorVisible = false
}
}