Ios Google Places API、GMSauto仅完成城市、国家和地区的搜索
我已经设置了Google GMSAutocomplete,如下所示:Ios Google Places API、GMSauto仅完成城市、国家和地区的搜索,ios,swift,google-places-api,gmsautocomplete,Ios,Swift,Google Places Api,Gmsautocomplete,我已经设置了Google GMSAutocomplete,如下所示: private func setupAutocompleteWithTextFieldController() { let kTextFieldTop: CGFloat = searchField.frame.origin.y let kTextFieldHeight: CGFloat = 44.0 let kContentRectTop = kTextFieldTop + kTextFieldHeig
private func setupAutocompleteWithTextFieldController() {
let kTextFieldTop: CGFloat = searchField.frame.origin.y
let kTextFieldHeight: CGFloat = 44.0
let kContentRectTop = kTextFieldTop + kTextFieldHeight
contentRect = CGRectMake(0, kContentRectTop, self.view.bounds.size.width, self.view.bounds.size.height - kTextFieldHeight)
searchField.autocorrectionType = .No
searchField.returnKeyType = .Done
searchField.clearButtonMode = .WhileEditing
searchField.addTarget(self, action: "searchFieldTextFieldEditingChanged:", forControlEvents: UIControlEvents.EditingChanged)
searchField.delegate = self
tableDataSource = GMSAutocompleteTableDataSource()
tableDataSource.delegate = self
resultsController = UITableViewController(style: UITableViewStyle.Plain)
resultsController.tableView.delegate = tableDataSource
resultsController.tableView.dataSource = tableDataSource
}
还实现了委托,UITextFieldDelegate
,GMSAutocompleteTableDataSourceDelegate
,它工作得很好。不过,我想把搜索范围限制在地区、行政区域和国家。e、 我不想让它搜索“地方”。让
我知道有过滤对象;但是,我如何将其应用到我的使用中?有什么想法吗
filter=GMSAutocompleteFilter()
,filter.type=GMSPlacesAutocompleteTypeFilter.City
您可以设置
GMSAutocompleteTableDataSource的字段
您的答案是以编程方式获取位置预测。我正在使用PlaceAPI小部件(与链接位于同一页面的顶部),并希望使用小部件对其进行过滤。有什么想法吗?是的!非常感谢。我在尝试“过滤器”属性,但运气不好。不看文档就到此为止。
func placeAutocomplete() { //Call function from your search editing method
let filter = GMSAutocompleteFilter()
filter.type = GMSPlacesAutocompleteTypeFilter.City
//"YOUR_SEARCH_DATA" Ex. Sydney Oper
//Uou will get data for city sydney
placesClient?.autocompleteQuery("YOUR_SEARCH_DATA", bounds: nil, filter: filter, callback: { (results, error: NSError?) -> Void in
if let error = error {
println("Autocomplete error \(error)")
}
for result in results! {
if let result = result as? GMSAutocompletePrediction {
println("Result \(result.attributedFullText) with placeID \(result.placeID)")
}
}
})
}