java 根据经纬度获取地址实现代码
java根据经纬度获取地址实现代码
实现代码:
publicclassGetLocation{ publicstaticvoidmain(String[]args){ //lat39.97646 //log116.3039 Stringadd=getAdd("116.3039","39.97646"); JSONObjectjsonObject=JSONObject.fromObject(add); JSONArrayjsonArray=JSONArray.fromObject(jsonObject.getString("addrList")); JSONObjectj_2=JSONObject.fromObject(jsonArray.get(0)); StringallAdd=j_2.getString("admName"); Stringarr[]=allAdd.split(","); System.out.println("省:"+arr[0]+"\n市:"+arr[1]+"\n区:"+arr[2]); } publicstaticStringgetAdd(Stringlog,Stringlat){ //lat小log大 //参数解释:纬度,经度type001(100代表道路,010代表POI,001代表门址,111可以同时显示前三项) StringurlString="http://gc.ditu.aliyun.com/regeocoding?l="+lat+","+log+"&type=010"; Stringres=""; try{ URLurl=newURL(urlString); java.net.HttpURLConnectionconn=(java.net.HttpURLConnection)url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod("POST"); java.io.BufferedReaderin=newjava.io.BufferedReader(newjava.io.InputStreamReader(conn.getInputStream(),"UTF-8")); Stringline; while((line=in.readLine())!=null){ res+=line+"\n"; } in.close(); }catch(Exceptione){ System.out.println("errorinwapaction,andeis"+e.getMessage()); } System.out.println(res); returnres; } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!