-
Naver Maps openAPI (2) - Geocoding ,Static Map API미니 2023. 6. 23. 02:28
Naver Maps API를 사용하기 위해서는 java에서 제공하는 HttpURLConnection API를 사용해야한다.
위 API
//정리용
1. Geocoding API를 이용하여 위도와 경도 추출
Geocoding API는 주소를 입력하면, 해당 주소의 지번,위도,경도 등등을 json으로 return해준다.
String apiurl = "https://naveropenapi.apigw.ntruss.com/map-geocode/v2/geocode?query="; String client_id = ""; String client_secret=""; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.print("주소를 입력하세요:"); String input = br.readLine(); String addr = URLEncoder.encode(input, "UTF-8"); String reqUrl=apiurl+addr; //작성한 URL을 실제 URL로 바꾸어줌 URL url = new URL(reqUrl); //실제 URL로 요청을 보내고 응답을 받는 API HttpURLConnection conn = (HttpURLConnection)url.openConnection(); //서버에 request하면서 보내는 설정임 conn.setRequestMethod("GET"); conn.setRequestProperty("X-NCP-APIGW-API-KEY-ID", client_id); conn.setRequestProperty("X-NCP-APIGW-API-KEY", client_secret); int responseCode = conn.getResponseCode(); BufferedReader brs; if(responseCode == 200) { //성공시 conn에서 json읽어옴 brs = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8")); }else { brs = new BufferedReader(new InputStreamReader(conn.getErrorStream())); } //json 한 줄씩 읽어서 저장 String line; StringBuilder sbr = new StringBuilder(); String x=""; String y=""; String z=""; while((line = brs.readLine()) != null) { sbr.append(line); } brs.close(); JSONTokener token = new JSONTokener(sbr.toString()); //JSONTokener tokens = new JSONTokener(new InputStreamReader(conn.getInputStream(),"UTF-8")); JSONObject object = new JSONObject(token); JSONArray arr = object.getJSONArray("addresses"); for(int i=0; i<arr.length();i++) { JSONObject temp = (JSONObject)arr.get(i); System.out.println("address:" + temp.get("roadAddress")); System.out.println("지번:" + temp.get("jibunAddress")); System.out.println("경도:" + temp.get("x")); System.out.println("위도:" + temp.get("y")); x=(String)temp.get("x"); y=(String)temp.get("y"); z=(String)temp.get("roadAddress"); } map_service(x,y,z); }catch(Exception e) { e.printStackTrace(); } }
'미니' 카테고리의 다른 글
Naver Maps openAPI (1) -JSON (0) 2023.06.23 자바 - BattleShip Game (0) 2023.05.14 자바 콘솔 -bulls and cows 게임 (0) 2023.03.10 자바 콘솔 -커피머신 (0) 2023.03.09