5

現在のユーザーの場所の郵便番号を場所または緯度または経度から取得する方法はありますか?もしそうなら、どのように?

4

3 に答える 3

8

Android Geocoder APIを使用してください!

getFromLocation(double、double、int)が必要なすべてです。

于 2011-11-25T06:28:50.457 に答える
5

はい、できます...あなたがする必要があるのは抽出することだけです

http://maps.google.com/maps/geo?ll=緯度、経度

http://maps.google.com/maps/geo?ll=10.345561,123.896932

または、このソリューションを試してみてください。私はあなたにアイデアを与えることができます。

あなたは都市を持つことができますか?このjsonデータを使用して、この形式の郵便番号のデータベース(maxmind.com)がある場合

国コード| 市| 郵便番号


PH|セブ|6000

次に、Googleが返す国コードに関連するデータベースをクエリします。

アップデート

Geocoding API v2は、2013年9月9日に却下されました。

これがAPIサービスの新しいURLです

http://maps.googleapis.com/maps/api/geocode/json?latlng=your_latitude,your_longitude

http://maps.googleapis.com/maps/api/geocode/json?latlng=10.32,123.90&sensor=true

于 2011-05-02T10:07:41.463 に答える
4

ジオコーダーベースの実装:

private String getZipCodeFromLocation(Location location) {
    Address addr = getAddressFromLocation(location);
    return addr.getPostalCode() == null ? "" : addr.getPostalCode();
}

private Address getAddressFromLocation(Location location) {
    Geocoder geocoder = new Geocoder(this);
    Address address = new Address(Locale.getDefault());
    try {
        List<Address> addr = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
        if (addr.size() > 0) {
            address = addr.get(0);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return address;
}

都市名など、住所から他の情報を取得することもできます。

于 2014-06-17T06:46:08.553 に答える