바 이 두 맵 에서 주소 상권 을 가 져 오 는 도구 클래스
5015 단어 바 이 두 지도
//BizAreaUtil.java
private static Logger logger = LoggerFactory.getLogger(BizAreaUtil.class);
private static final String GET_BIZ_AREA_URL = "http://api.map.baidu.com/geocoder/v2/?ak=03c191741fa52a27375ba9684e7b0970&callback=renderReverse&output=json&pois=1&location=";
public static String getBizArea(String lon, String lat) throws Exception{
String url = GET_BIZ_AREA_URL + lat + "," + lon; //
String resStr = sendGetRequest(url);
System.out.println("resStr:" + resStr);
int idx = resStr.indexOf("business\":") + 11;
resStr = resStr.substring(idx);
idx = resStr.indexOf("\"");
String bizArea = resStr.substring(0,idx);
return bizArea;
}
private static String sendGetRequest(String reqUrl) throws Exception{
URL url = new URL(reqUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(10000);
conn.setReadTimeout(8000);
conn.setDoInput(true);
conn.setRequestMethod("GET");
conn.connect();
InputStream in = conn.getInputStream();
BufferedReader bin = null;
int resCode = conn.getResponseCode();
StringBuilder sb = new StringBuilder();
if (resCode == 200) {
bin = new BufferedReader(new InputStreamReader(in, "UTF-8"));
String line = null;
while ((line = bin.readLine()) != null) {
sb.append(line);
}
}else{
logger.error(" “ ” ,ResponseCode:{}",resCode);
}
if(bin != null){
bin.close();
}
return sb.toString();
}
public static void main(String[] args) throws Exception{
System.out.println(getBizArea("121.262987", "31.093424"));
System.out.println(getBizArea("121.428000", "31.197600"));
}
URL 이 Firefox 브 라 우 저 에 접근:
http://api.map.baidu.com/geocoder/v2/?ak=03c191741fa52a27375ba9684e7b0970&callback=renderReverse&output=json&pois=1&location=31.093424,121.262987