我想在这个经纬度的特殊区域使用 AutocompleteViewController
let SOUTHWEST_LATITUDE = 35.60;
let SOUTHWEST_LONGITUDE = 51.11;
let NORTHEAST_LATITUDE = 35.80;
let NORTHEAST_LONGITUDE = 51.60;
现在我不知道如何在我的代码中使用它们!! 在我的代码中
public func googlePlacesVC() -> UIViewController{
let autocompleteController = GMSAutocompleteViewController()
//how to use this ?
//autocompleteController.autocompleteBounds????
autocompleteController.delegate = self
return autocompleteController
}
最佳答案
你需要用southWest坐标和northEast坐标定义一个GMSCoordinateBounds
,你还需要修复你的常量声明,静态常量是已经final了,而且常量的类型必须在常量名之后,不能在之前
更新
如果您只想将结果限制在这个范围内,您还需要使用 autocompleteController.autocompleteBoundsMode = .restrict
完整代码
private static let SOUTHWEST_LATITUDE : Double = 35.60;
private static let SOUTHWEST_LONGITUDE : Double = 51.11;
private static let NORTHEAST_LATITUDE : Double = 35.80;
private static let NORTHEAST_LONGITUDE : Double = 51.60;
public func googlePlacesVC() -> UIViewController{
let autocompleteController = GMSAutocompleteViewController()
let northEastCoordinate = CLLocationCoordinate2D(latitude: ViewController.NORTHEAST_LATITUDE, longitude: ViewController.NORTHEAST_LONGITUDE)
let southWestCoordinate = CLLocationCoordinate2D(latitude: ViewController.SOUTHWEST_LATITUDE, longitude: ViewController.SOUTHWEST_LONGITUDE)
let bounds = GMSCoordinateBounds(coordinate: southWestCoordinate, coordinate: northEastCoordinate)
//how to use this ?
autocompleteController.autocompleteBounds = bounds
autocompleteController.autocompleteBoundsMode = .restrict
autocompleteController.delegate = self
return autocompleteController
}
这有效,已经过测试;)
关于ios - 如何在 swift 3 中使用 autocompleteBounds,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48058349/