2017-02-28 12 views
0

おはよう!Google Maps iOS SDKでアドレスコンポーネントの完全なリストを取得するには

私は現在、Google Mapsの逆ジオコーディング機能を使用する必要のあるiOSアプリケーションを開発中です。難しい部分は、アドレスコンポーネントの完全なリスト(つまり、短い名前と長い名前を含む、this exampleから返されたJSONの完全な「address_components」値)にアクセスできるようにすることです。

Google Maps iOS SDK逆ジオコーディングのすべての結果はGMSAddressの形式で表示され、これらの値の小さなサブセット(および短いバージョン)のみが公開されるようです。私は今まで私が必要とするものにアクセスする方法を見つけていません。

iOS SDKでこれらの値を取得する方法はありますか?そうでない場合は、google maps APIを直接呼び出してみてください。誰か試したことがありますか?

は、お時間を

ジュリアンP.

答えて

0

をありがとう、私は、iOS用LMGeocoderライブラリを使用して簡単な解決策を見つけました。

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でも有効です。誰も助けることを願っています! :)

ジュリアン

0

私はそのようなアプリに取り組んでいますが...私は、iOS SDKのことは知りません。

しかし、Google APIがこれをサポートします。このチュートリアルでは、クリックした場所のアドレスを取得します。 https://www.raywenderlich.com/109888/google-maps-ios-sdk-tutorial

Google APIを直接呼び出すことはできません。このためにサーバーを追加する必要があります。このチュートリアルでは、これを行うための詳細な方法を示します。

これが役に立ちます。すべてのベスト

関連する問題