你的位置:首页 > Java教程

[Java教程]通过地址定位坐标


随笔写来玩玩

public class getXYByAliyunAPI {  public static void main(String[] args) {    Connection conn =null;    FileOutputStream fis =null;    try {      conn = JDBCUtil.getConnection();      PreparedStatement pstm = conn.prepareStatement("select unitCode,REPLACE(unitAddress, '#', '') from useWaterUnit");      ResultSet rs =pstm.executeQuery();      while(rs.next()){        String unitAddress = rs.getString(2);        String unitCode = rs.getString(1)+",";        String string= sendGet("http://gc.ditu.aliyun.com/geocoding", "a="+unitAddress+"&c=成都");        string = string.replace("}", "");        string = string.replace("{", "");        string = string.replace("\"", "");        string = string.replace(":", "");        String[] strings = string.split(",");        for (String s : strings) {          s = s.trim();          if(s.indexOf("lon")!=-1){            unitCode+=s.substring(s.indexOf("lon") + 3, s.length())+",";            System.out.println(unitCode+s.substring(s.indexOf("lon") + 3, s.length()));          }          if(s.indexOf("lat")!=-1){            unitCode+=s.substring(s.indexOf("lat") + 3, s.length())+",\r\n";            System.out.println(unitCode+s.substring(s.indexOf("lat") + 3, s.length()));          }        }        fis = new FileOutputStream("d:/001.txt", true);        fis.write(unitCode.getBytes());        fis.flush();      }    } catch (SQLException e) {      e.printStackTrace();    } catch (ClassNotFoundException e) {      e.printStackTrace();    } catch (FileNotFoundException e) {      e.printStackTrace();    } catch (IOException e) {      e.printStackTrace();    } finally {      try {        if(null!=conn){          conn.close();        }        if(null!=fis){          fis.close();        }      } catch (SQLException e) {        e.printStackTrace();      } catch (IOException e) {        e.printStackTrace();      }    }  }  public static String sendGet(String url, String param) {    String result = "";    BufferedReader in = null;    try {      String urlNameString = url + "?" + param;      URL realUrl = new URL(urlNameString);      // 打开和URL之间的连接      URLConnection connection = realUrl.openConnection();      // 设置通用的请求属性      connection.setRequestProperty("user-agent", "directclient");      // 建立实际的连接      connection.connect();      // 获取所有响应头字段      Map<String, List<String>> map = connection.getHeaderFields();      // 遍历所有的响应头字段      for (String key : map.keySet()) {     //    System.out.println(key + "--->" + map.get(key));      }      // 定义 BufferedReader输入流来读取URL的响应      in = new BufferedReader(new InputStreamReader(          connection.getInputStream()));      String line;      while ((line = in.readLine()) != null) {        result += line;      }    } catch (Exception e) {      System.out.println("发送GET请求出现异常!" + e);      e.printStackTrace();    }    // 使用finally块来关闭输入流    finally {      try {        if (in != null) {          in.close();        }      } catch (Exception e2) {        e2.printStackTrace();      }    }    return result;  }}