Java

카카오맵 REST API

봉주니 2019. 6. 20. 09:53

카카오 개발자 페이지로 이동

https://developers.kakao.com/

 

Kakao Developers_

더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다.

developers.kakao.com

 

내 어플리케이션 -> 앱 만들기를 진행하여 RESTAPI KEY 정보 얻음.

 

아래 개발가이드 참고 하여 개발.

https://developers.kakao.com/docs/restapi/local#로컬 

 

Kakao Developers_

더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다.

developers.kakao.com

주소를 이용하여 , 좌표값을 구하는 데 사용.

<EXAMPLE>

APIKEY = "KakaoAK 유저APIKEY"

PROTOCAL = "https"

SERVER_HOST = "dapi.kakao.com/v2/local/search/address.json?query="

 

public Map<String, Object> getGeoCode(Map<String, Object> parameter){ 
        String juso = ""; 
        if(parameter.get("DEPOT_ADR") == null){ 
            juso = parameter.get("LOC_CD").toString(); 
        }else{ 
            juso = parameter.get("DEPOT_ADR").toString(); 
        } 
         
        try { 
            HttpHeaders headers = new HttpHeaders(); 
            headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); 
            headers.add("Authorization", APIKEY); 
            String url = String.format("%s://%s%s",PROTOCOL, SERVER_HOST, juso); 
             
            @SuppressWarnings("rawtypes") 
            ResponseEntity response = new RestTemplate().exchange(url, HttpMethod.GET, new HttpEntity(headers), String.class); 

            JSONParser jsonParser = new JSONParser(); 
            try { 
                JSONObject jsonObject = (JSONObject) jsonParser.parse(response.getBody().toString()); 
                JSONArray array = (JSONArray) jsonObject.get("documents"); 
                if(array.size() != 0){ 
                    JSONObject objectDoc = (JSONObject)array.get(0); 
                    parameter.put("LATITUDE", objectDoc.get("x").toString().substring(0, 9)); 
                    parameter.put("LONGITUDE", objectDoc.get("y").toString().substring(0, 9)); 
                } 
            } 
            catch(ParseException e) { 
                e.printStackTrace(); 
            } 
        } 
        catch(RestClientException e) { 
            e.printStackTrace(); 
        } 
         
        return parameter; 
    }
반응형