ios - 如何将 google place 自动完成 api 结果仅限于纽约?
问题描述
我正在使用google place 自动完成 API在我的应用程序中搜索地址。我想将 google place 自动完成结果限制在特定城市(即仅在纽约搜索地址)。
我知道这可以通过绑定坐标来完成,但我不知道如何找到它(即纽约特定的绑定坐标)
我在文档中搜索了如何将结果限制在特定城市(即仅限纽约),但这非常令人困惑。
注意:我将 GMSAutoCompleteController 用于谷歌自动完成 API。
请让我知道如何完成它。
// Code :
@IBAction func textfieldDidTapped(_ sender: Any) {
listingAddressTextfield.resignFirstResponder()
let controller = GMSAutocompleteViewController()
let filter = GMSAutocompleteFilter()
filter.type = .address
controller.autocompleteFilter = filter
controller.delegate = self
present(controller, animated: true, completion: nil)
}
// Delegate Methods...
extension ViewController: GMSAutocompleteViewControllerDelegate {
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
listingAddressTextfield.text = place.name
dismiss(animated: true, completion: nil)
}
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
print("Error: ", error.localizedDescription)
}
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
dismiss(animated: true, completion: nil)
}
}
解决方案
有两个属性GMSAutocompleteViewController
可用于限制和偏向您的位置搜索。
GMSCoordinateBounds
包含northEast
和southWest
协调的用户。所以你需要northEast
和southWest
纽约市的坐标。
controller.autocompleteBounds = Instance of GMSCoordinateBounds
然后你需要设置之后
controller.autocompleteBoundsMode = .restrict
这将搜索您有界区域内的地点。
推荐阅读
- pandas - 循环遍历数据框并返回基于多个条件的过滤值数组的最有效方法
- jquery - jQuery - remember state of increment function
- apache-flink - Is Flink job manager stateful or stateless?
- swift - Merging Image onto Image Prior to Saving in Photos Library
- c# - 动态 Json 字符串访问一个值
- c++ - CMake:不支持的 GNU 版本 -- 不支持高于 8 的 gcc 版本
- javascript - 使用输入中输入的数据生成“人”对象
- python - How to improve the performance of traversing a large dataset
- python - Python QtCreator and Slots
- jenkins - 关于 Jenkinsfile 加载 groovy 脚本的一些问题