場所の入力が必要なアプレットを作成しています。ただし、私が使用している特定のAPIのため、その入力はLatitudeとLongitudeである必要があります。これに伴う問題は、ユーザーが自分の緯度と経度を把握して入力するのは不便であるということです。ただし、誰もが自分の郵便番号を知っています。郵便番号を取得して緯度と経度を返すことができるJavaAPIはありますか?(郵便番号内の任意のランダムなポイントからのものである可能性があります。そのポイントが郵便番号領域内のどこかにある限り、精度は実際には重要ではありません)別の機能は、IPに基づいて場所を取得できるかどうかです。ユーザーのアドレス。私が考えていた最後の方法は、その郵便番号でアマチュア無線を探し、緯度と経度を取得することでした。これ。これは可能ですか?
2875 次
3 に答える
4
API はないと思いますが、郵便番号データベースを使用して API を作成できます。
于 2011-09-01T15:04:09.170 に答える
3
これは、通常のアプリケーションで行う方法であり、アプレットでも同じことです。
public static void main(String[] args) {
/** let's use the following zip code simply for the purpose of this
example (its the zip code for hollywood callifornia) */
String zipCode = 91601
String latitude = "0";
String longitude = "0";
try {
/**
JavaCVS api is required in order to read this, it can
be found at http://sourceforge.net/projects/javacsv/
**/
CsvReader products = new CsvReader("zips.csv");
/** a cvs containing all the zip codes and latitudes
and longitudes can be found at:
http://sourceforge.net/projects/zips/files/zips/zips.csv.zip/
**/
products.readHeaders();
int numOfHeaders = products.getHeaderCount();
System.out.println("Number of headers" + numOfHeaders);
try {
while (products.readRecord())
{
String lookedupZip = products.get(products.getHeader(0));
if (lookedupZip.equals(zipCode)) {
latitude = products.get(products.getHeader(2));
longitude = products.get(products.getHeader(3));
}
}
} catch (IOException e1) {
e1.printStackTrace();
}
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e2) {
e2.printStackTrace();
}
}
csvファイルリンクの@Ring Bearerに感謝
于 2011-09-06T17:29:43.993 に答える
1
Google (afaik)は、ジオコーディング応答で郵便番号を提供していません。私は現在そのようなことに取り組んでいるので、かなり似たようなものを決定する必要があり、回避策を見つけました: 地区です。ジオコーディング レスポンスには国、州、および地区の名前が含まれているため、ユーザーはそれを絞り込むことができます。連鎖選択は素晴らしい追加機能です。
于 2011-09-01T15:08:38.217 に答える