如何在 swift 中使用 autocompleteBounds 3

How to use autocompleteBounds in swift 3

我想在这个经纬度的特殊区域使用 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
}

这个有效,已经过测试;)