import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class NettyDemo { public static void main(String[] args) { // lat 39.97646 //log 116.3039 String add = getAdd("116.3039", "39.97646"); JSONObject jsonObject = JSONObject.fromObject(add); JSONArray jsonArray = JSONArray.fromObject(jsonObject.getString("addrList")); JSONObject j_2 = JSONObject.fromObject(jsonArray.get(0)); String allAdd = j_2.getString("admName"); String arr[] = allAdd.split(","); System.out.println("省:"+arr[0]+" 市:"+arr[1]+" 区:"+arr[2]); } public static String getAdd(String log, String lat ){ //lat 小 log 大 //参数解释: 纬度,经度 type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项) String urlString = "http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010"; JSONObject salerJson=JSONObject.fromObject(getUrl(urlString)); JSONObject jsonData=JSONObject.fromObject(salerJson); /* JSONArray fileItemsjson = JSONArray.fromObject(jsonData.get("addrList").toString()); System.out.println("地区"+fileItemsjson); JSONObject job = fileItemsjson.getJSONObject(0);*/ return jsonData.toString(); } public static String getUrl(String url) { String resData = null; StringBuffer s = new StringBuffer(); BufferedReader bReader = null; try { //114.55.248.182 URL urlWeb = new URL(url); URLConnection connection = urlWeb.openConnection(); bReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "utf-8")); while (null != (resData = bReader.readLine())) { s.append(resData); } bReader.close(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } System.out.println(s); return s.toString(); } }
所需jar包:链接:http://pan.baidu.com/s/1gfP4wEZ 密码:znf2