编程语言
首页 > 编程语言> > 是否有java api用于从邮政编码中获取经度和纬度?

是否有java api用于从邮政编码中获取经度和纬度?

作者:互联网

我正在构建一个需要输入位置的applet.但是,由于我正在使用的特定API,该输入必须是纬度和经度.这个问题是,用户弄清楚他们的纬度和经度是多么不方便,然后输入它.但是每个人都知道他们的邮政编码.是否有一个Java API,可以采取邮政编码,并返回纬度和经度? (它可以来自邮政编码内的任何随机点,只要该点在邮政编码区域内的某处,准确性并不重要)另一件可行的方法,就是它可以获得基于ip的位置用户的地址.我想到的最后一种方法是在邮政编码中查找火腿无线电并获得它的纬度和经度.这是由一位朋友向我提出的,他做了很多火腿收音机的东西,他给我看了this.这可能吗?

解决方法:

这将是您在常规应用程序中执行此操作的方式,对于applet应该是相同的.

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

感谢@Ring Bearer的csv文件链接

标签:java,ip-address,latitude-longitude,api,zipcode
来源: https://codeday.me/bug/20190610/1209829.html