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;
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!