Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Google Maps iOS SDK获取地址组件的完整列表_Ios_Google Maps_Google Maps Sdk Ios_Reverse Geocoding - Fatal编程技术网

如何使用Google Maps iOS SDK获取地址组件的完整列表

如何使用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吗?有人试过吗 谢谢

早上好

我目前正在开发一款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。您需要为此添加服务器。本教程提供了一种详细而清晰的方法

希望这有帮助。祝你一切顺利