如何在 ios Swift 中从 Google Places API 获取坐标

问题描述 投票:0回答:3

我正在使用

Alamofire
SwiftyJSON
自动完成 Google 地方信息。我把它整合得很好,就像这样:

enter image description here

现在,我需要的是,如果我从表视图中选择一个位置,它就会在文本字段中被选中。但是我怎样才能得到那个地方各自的纬度和经度,以便我可以在MapKit中添加那个地方的注释

Google Place API
获取详细信息并将其显示在苹果的MapKit上是否合法?看到Viking的问题

后我有了这个疑问
ios swift google-places-api alamofire mapkitannotation
3个回答
13
投票

也许我有点晚了,但作为教程我仍然发布这个答案 你可以像这样简单地获取坐标

// Handle the user's selection 

public func viewController(viewController: GMSAutocompleteViewController, didAutocompleteWithPlace place: GMSPlace) {
    var lat = place.coordinate.latitude
    var lon = place.coordinate.longitude
    print("lat lon",lat,lon)

}

2
投票

您可以从

GMSPlace
对象获取坐标。请参阅文档

关于您是否可以在苹果地图旁边使用谷歌地点,不可以。 正如他们的使用条款

中所述

确保您的应用用于显示从 iOS 版 Google Places API 检索到的地点位置的任何地图都是 Google 地图。


0
投票

我知道现在回答已经太晚了,但希望对其他人有用。实际上,您必须定义输出所需的字段。

    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))
    autocompleteController.placeFields = fields

    // Specify a filter.
    let filter = GMSAutocompleteFilter()
    filter.countries = ["AE"]
    autocompleteController.autocompleteFilter = filter

    // Display the autocomplete view controller.
    present(autocompleteController, animated: true, completion: nil)
© www.soinside.com 2019 - 2024. All rights reserved.