2012-04-20 13 views
1

私は現在の場所を見つけるアンドロイドアプリを持っていますが、現在の場所から20マイル以内にある郵便番号を特定する必要があります。この情報を見つける最良の方法は何でしょうか?公開APIまたはWebサービスはありますか?私は入力として緯度/経度または郵便番号を与えることができます。緯度/経度付近の郵便番号のリストを取得

+0

で動作するように独自のデータ・ベースを作成するために郵便番号データベースhttp://zips.sourceforge.net/を使用することができましたlat/lonを読み取り可能なアドレスに変換するプロセスです。 Google API https://developers.google.com/maps/documentation/geocoding/があります。これは開始に役立つはずです。 – twain249

答えて

0

。その結果を使用して、その半径に関連した郵便番号を探します。私が知っているよう

import com.google.android.maps.GeoPoint; 

public class DistanceCalculator { 

    private double Radius; 

    // R = earth's radius (mean radius = 6,371km) 
    // Constructor 
    DistanceCalculator(double R) { 
     Radius = R; 
    } 

    public double CalculationByDistance(GeoPoint StartP, GeoPoint EndP) { 
     double lat1 = StartP.getLatitudeE6()/1E6; 
     double lat2 = EndP.getLatitudeE6()/1E6; 
     double lon1 = StartP.getLongitudeE6()/1E6; 
     double lon2 = EndP.getLongitudeE6()/1E6; 
     double dLat = Math.toRadians(lat2-lat1); 
     double dLon = Math.toRadians(lon2-lon1); 
     double a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
     Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * 
     Math.sin(dLon/2) * Math.sin(dLon/2); 
     double c = 2 * Math.asin(Math.sqrt(a)); 
     return Radius * c; 
    } 
} 
0

は長い間、私のように、このためのAPIがありませんが、これが効果的に逆ジオコーディングの問題である

関連する問題