如何使用Google Maps iOS SDK获取地址组件的完整列表
早上好 我目前正在开发一款iOS应用程序,它要求我使用谷歌地图的反向地理编码功能。棘手的部分是,我需要能够访问地址组件的完整列表,即JSON返回的完整地址组件值,包括短名称和长名称 当使用Google Maps iOS SDK时,所有反向地理编码的结果似乎都以GMSAddress的形式给出,它只公开了这些值的一小部分,没有简短的版本。到目前为止,我还没有找到一种方法来获取我需要的东西 有没有办法通过iOS SDK获取这些值?如果没有,可以尝试直接调用GoogleMapsAPI吗?有人试过吗 谢谢你抽出时间如何使用Google Maps iOS SDK获取地址组件的完整列表,ios,google-maps,google-maps-sdk-ios,reverse-geocoding,Ios,Google Maps,Google Maps Sdk Ios,Reverse Geocoding,早上好 我目前正在开发一款iOS应用程序,它要求我使用谷歌地图的反向地理编码功能。棘手的部分是,我需要能够访问地址组件的完整列表,即JSON返回的完整地址组件值,包括短名称和长名称 当使用Google Maps iOS SDK时,所有反向地理编码的结果似乎都以GMSAddress的形式给出,它只公开了这些值的一小部分,没有简短的版本。到目前为止,我还没有找到一种方法来获取我需要的东西 有没有办法通过iOS SDK获取这些值?如果没有,可以尝试直接调用GoogleMapsAPI吗?有人试过吗 谢谢
Julien p.我发现了一个使用iOS库的简单解决方案 在LMAddress中,有一个lines属性将包含所有信息。您可以使用下面的代码轻松访问它
func getAddressComponent(name: String, lines: [[NSObject: AnyObject?]]) -> (short: String?, long: String?)? {
let filteredLines = lines.filter { ($0["types"] as! [String]).contains(name)
guard let line = filteredLines.first else {
return nil
}
let longName = line["long_name"] as? String
let shortName = line["short_name"] as? String
return (short: shortName, long: longName)
}
这是使用Swift 2.3,但可能也适用于Swift 3。希望它能帮助任何人
Julien我正在开发一个这样的应用程序……我不知道iOS SDK 但是,谷歌API将对此有所帮助。本教程获取您单击的位置的地址: 您将无法直接调用Google API。您需要为此添加服务器。本教程提供了一种详细而清晰的方法 希望这有帮助。祝你一切顺利