Swift:在iOS上使用Google Places,并获得-180作为Latitude



这是我的代码:

func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
print(place.name)
print(place.placeID)
print(place.coordinate)
dismiss(animated: true, completion: nil)
}

这是打印:

Name
PlaceID
CLLocationCoordinate2D(latitude: -180.0, longitude: -180.0)

名称和PlaceID是正确的,但纬度和经度不正确,那么如何解决这个问题?

我在这里发现了同样的问题,GMSPlace返回无效坐标(-180,-180(,但名称和地点ID是正确的

但我不知道如何使用preyes的答案

我找到了。

在显示GMSAutocompleteViewController的地方,可以添加GMSPlaceField字段来指定您想要的数据,如下所示:

@objc func autocompleteClicked(_ sender: UIButton) {
let autocompleteController = GMSAutocompleteViewController()
autocompleteController.delegate = self
// Specify the place data types to return.
let fields: GMSPlaceField = GMSPlaceField(rawValue:UInt(GMSPlaceField.name.rawValue) |
UInt(GMSPlaceField.placeID.rawValue) |
UInt(GMSPlaceField.coordinate.rawValue) |
GMSPlaceField.addressComponents.rawValue |
GMSPlaceField.formattedAddress.rawValue)!
autocompleteController.placeFields = fields
// Specify a filter.
let filter = GMSAutocompleteFilter()
filter.type = .noFilter
autocompleteController.autocompleteFilter = filter
// Display the autocomplete view controller.
present(autocompleteController, animated: true, completion: nil)
}

我从https://developers.google.com/places/ios-sdk/autocomplete

相关内容

最新更新