我正在使用 google place自动完成API 来搜索我的应用中的地址。我想将Google Place自动完成结果限制为特定城市(即仅在纽约搜索地址)。
我知道可以通过边界坐标完成此操作,但是我不知道如何找到它(即纽约特定的边界坐标)
我在文档中搜索了如何将结果限制在特定城市(仅适用于纽约),但这非常令人困惑。
注意:我正在使用GMSAutoCompleteController进行Google自动完成 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)
}
}
答案 0 :(得分:2)
GMSAutocompleteViewController
有两个属性可用于限制和偏向您的位置搜索。
用户GMSCoordinateBounds
,其中包含northEast
和southWest
坐标。因此,您需要纽约的northEast
和southWest
坐标。
controller.autocompleteBounds = Instance of GMSCoordinateBounds
然后需要设置
controller.autocompleteBoundsMode = .restrict
它将搜索您的边界区域内的地点。