【问题标题】:Google AutoComplete API address componentsGoogle AutoComplete API 地址组件
【发布时间】:2017-03-17 14:34:33
【问题描述】:

我在我的 swift 应用程序中使用 google API 来获取地址。我正在尝试检索我认为将在地址组件中的地址所在的城市。

当我使用下面的代码时,它会返回我不熟悉的代码:

Address components: Optional([<GMSAddressComponent: 0x17022b540>, <GMSAddressComponent: 0x170234b20>, <GMSAddressComponent: 0x17022b9a0>, <GMSAddressComponent: 0x17022cf80>, <GMSAddressComponent: 0x17022bb00>, <GMSAddressComponent: 0x170234f60>, <GMSAddressComponent: 0x1702346c0>, <GMSAddressComponent: 0x17022d580>])

我将如何使这个可读并从中检索城市名称?

非常感谢任何帮助

extension selectAddress: GMSAutocompleteViewControllerDelegate {

    // Handle the user's selection.
    func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {

        print("Address components: \(place.addressComponents)")

        dismiss(animated: true, completion: nil)

    }

【问题讨论】:

标签: ios swift google-api


【解决方案1】:

想通了

let city = place.addressComponents?[2].name

【讨论】:

  • google 非常不鼓励这样做:“响应的格式不能保证在请求之间保持相同。[...] 特别是,addressComponents 的数量根据请求的地址和对于同一地址,可以随时间变化。组件可以更改数组中的位置。组件的类型可以更改。以后的响应中可能会丢失特定的组件。developers.google.com/places/ios-sdk/place-details
猜你喜欢
  • 1970-01-01
  • 2016-11-07
  • 2018-11-02
  • 2022-11-18
  • 2018-10-20
  • 2017-09-12
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多