Я реализовал Google Maps Place API GMSAutocomplete. Работает нормально. Однако каждый раз, когда я ввожу номер адреса, я вижу много внешних адресов, которые не имеют отношения к делу. Мне было интересно, можно ли установить ограничение на API места, чтобы в результате отображались только адреса в стране? например, Канада?
В моей кнопке нажата fun c (для autocompleteViewController) У меня есть:
let orderVC = GMSAutocompleteViewController()
orderVC.delegate = self
let fields: GMSPlaceField = GMSPlaceField(rawValue: UInt(GMSPlaceField.name.rawValue) |
UInt(GMSPlaceField.placeID.rawValue) | UInt(GMSPlaceField.coordinate.rawValue))!
orderVC.placeFields = fields
let filter = GMSAutocompleteFilter()
filter.type = .address
orderVC.autocompleteFilter = filter
present(orderVC, animated: true, completion: nil)
Мой viewdidLoad У меня есть:
let camera = GMSCameraPosition.camera(withLatitude: 43.6532,
longitude: 79.3832,
zoom: zoomLevel)
mapView = GMSMapView.map(withFrame: view.bounds, camera: camera)
mapView.settings.myLocationButton = true
mapView.settings.compassButton = true
mapView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
mapView.isMyLocationEnabled = true
Моя функция автозаполнения это:
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
print("Place name: \(place.name ?? "placenameNil")")
print("Place ID: \(place.placeID ?? "placeIdNil")")
print("Place attributions: \(place.attributions)")
print("place cordinate: \(place.coordinate.latitude) \(place.coordinate.longitude)")
dismiss(animated: true, completion: nil)
}
Нужно ли мне что-то вроде "locationManager.distanceFilter = 500" или есть рекомендуемый метод?