Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iOS中仅过滤GMSAutocompleteResultsViewController中的学校?_Ios_Swift_Xcode_Google Places Api - Fatal编程技术网

如何在iOS中仅过滤GMSAutocompleteResultsViewController中的学校?

如何在iOS中仅过滤GMSAutocompleteResultsViewController中的学校?,ios,swift,xcode,google-places-api,Ios,Swift,Xcode,Google Places Api,我正在使用GMSAutocompleteResultsViewController在iOS中搜索位置。我写下地点的名称,并根据关键字得到结果。但问题是我只想搜索学校。所以,若我键入任何地名,若它是学校,那个么我应该出现在结果中,否则不会 GMSAutocompleteFilter只显示很少的过滤器,如机构、地区、城市、地址等。但在android中,它将过滤器作为学校 下面是我用于搜索的代码 class SearchLocationController: DIBaseController {

我正在使用GMSAutocompleteResultsViewController在iOS中搜索位置。我写下地点的名称,并根据关键字得到结果。但问题是我只想搜索学校。所以,若我键入任何地名,若它是学校,那个么我应该出现在结果中,否则不会

GMSAutocompleteFilter只显示很少的过滤器,如机构、地区、城市、地址等。但在android中,它将过滤器作为学校

下面是我用于搜索的代码

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

        // Put the search bar in the navigation bar.
        searchController?.searchBar.sizeToFit()
        navigationItem.titleView = searchController?.searchBar

        // When UISearchController presents the results view, present it in
        // this view controller, not one further up the chain.
        definesPresentationContext = true
        // Prevent the navigation bar from being hidden when searching.
        searchController?.hidesNavigationBarDuringPresentation = false
    }
}

// Handle the user's selection.
extension SearchLocationController: GMSAutocompleteResultsViewControllerDelegate {
    func resultsController(_ resultsController: GMSAutocompleteResultsViewController,
                           didAutocompleteWith place: GMSPlace) {
        searchController?.isActive = false
        // Do something with the selected place.

    }

    func resultsController(_ resultsController: GMSAutocompleteResultsViewController,
                           didFailAutocompleteWithError error: Error){
        // TODO: handle the error.
        print("Error: ", error.localizedDescription)
    }

    // Turn the network activity indicator on and off again.
    func didRequestAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
        UIApplication.shared.isNetworkActivityIndicatorVisible = true
    }

    func didUpdateAutocompletePredictions(_ viewController: GMSAutocompleteViewController) {
        UIApplication.shared.isNetworkActivityIndicatorVisible = false
    }
}

显然,在iOS SDK中,支持的地点类型只有地理编码、地址、机构、地区和城市


有关更多详细信息,请参阅。

如果您使用的是Places API,则可以通过API请求指定类型。是否确实不支持iOS sdk中的学校?如果我必须在iOS sdk中使用school,那么这是怎么可能的?这是提供的链接所述。该链接没有定义我如何在iOS sdk中使用school?请查看url:school在当前iOS sdk中不受支持