如何将 google 地点自动完成 api 结果限制为仅限纽约?

How to restrict google place auto complete api result to New york only?

我正在使用 google 放置自动完成 API 在我的应用程序中搜索地址。我想将 google 将自动完成结果限制在特定城市(即仅搜索纽约的地址)。

我知道这可以通过 绑定坐标 完成,但我不知道如何找到它(即纽约特定绑定坐标)

我在文档中搜索了如何将结果限制为特定城市(即仅限纽约),但它非常令人困惑。

Note: I am using GMSAutoCompleteController for google auto complete 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,其中包含 northEastsouthWest 坐标。所以你需要纽约市的 northEastsouthWest 坐标。

controller.autocompleteBounds = Instance of GMSCoordinateBounds

然后之后需要设置

controller.autocompleteBoundsMode = .restrict

这将在您的边界区域内搜索地点。