2011-05-02 7 views
5

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

答えて

5

はいあなたは...あなたは

http://maps.google.com/maps/geo?ll=緯度を抽出するだけです、経度

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

またはこのsolutions.Iを試してみてくださいは、あなたのアイデアを与えることができます。

都市は正しくできますか?このjsonデータがある場合、この形式の郵便番号のデータベース(maxmind.com)がある場合

CountryCode |都市|郵便番号


PH |セブ| 6000

は今リターンをグーグル国番号からの相対である、あなたのデータベースを照会。

UPDATE

ジオコーディングAPI v2のは、2013年

、9月9日に却下された。ここAPIサービス

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の新しいURLがあります

+0

thanx ...試してみましょう – Udaykiran

+1

最初のものから...再取得する郵便番号はありません – Udaykiran

+0

@Udaykiranあなたはzipcodeのレコードを持つ別のデータベースが必要です。これはdatabase.httpの例です: /ipinfodb.com/zipcode_database.php – kedomonzter

7

Androidを使用Geocoder API

getFromLocation(double、double、int)は必要なものです。

2

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

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; 
} 

あなたが例の都市名のために、アドレスからも、他の情報を得ることができます。