我正在使用适用于 iOS 的 Google Places API,可以成功检索附近的地点并将地址显示为字符串。我想做的是提取地址组件(例如城市)以存储在数据库中。
文档表明 GMSPlace 有一个 addressComponents 属性(一个数组),但我似乎不知道如何使用这个属性。
下面的代码将整个地址设置为标签的文本,但我无法超越:
编辑 ---- 添加了显示我如何尝试访问地址组件的代码
venueLabel.isHidden = false
venueLabel.text = selectedPlace?.name
addressLabel.isHidden = false
addressLabel.text = selectedPlace?.formattedAddress
let addressComponents = selectedPlace?.addressComponents
for component in addressComponents! {
let city = component["city"] //Error Type GMSPaceAddressComponent has no subscript members
print(city)
}
安全的 Swift 4.2 解决方案:
let name = place.addressComponents?.first(where: { $0.type == "city" })?.name
selectedPlace.addressComponents 是一个数组GMS地址组件其中有 2 个属性类型和名称。
在你的情况下它会像
for component in addressComponents! {
if component.type == "city" {
print(component.name)
}
}
GMSAddressComponent 是一个类,而不是字典或数组,您会收到此错误。
其他组件类型可以参考link https://developers.google.com/places/ios-api/supported_types#table2.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)