티스토리 뷰

JavaScript

[주소검색API] 주소검색 API 사용

IT공부블로그 2019. 6. 13. 20:38
728x90
반응형

https://www.juso.go.kr/addrlink/devAddrLinkRequestWrite.do?returnFn=write&cntcMenu=URL


위 링크에 들어가서 신청후 사용하여 승인코드를 이용해서 사용하는줄알았는데 그냥 예제소스를 받았더니 된다?;


https://www.juso.go.kr/addrlink/devAddrLinkRequestGuide.do?menu=roadApi


위 링크에서 

가이드 및 소스 다운로드 옆의 JSP를 다운받아 압축을풀면 파일과 가이드PDF가 있다


파일중에 jusoPopup.jsp를 프로젝트폴더에 넣고 

window.open("${pageContext.servletContext.contextPath }/admin/jusoPopup","pop","width=570,height=420, scrollbars=yes, resizable=yes");

위 코드를 실행하게되면 팝업창이 나오면서 검색이 가능하다 


function postcode() {

    new daum.Postcode({

        oncomplete: function(data) {

            // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.


            // 각 주소의 노출 규칙에 따라 주소를 조합한다.

            // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.

            var addr = ''; // 주소 변수

            var extraAddr = ''; // 참고항목 변수


            //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.

            if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우

                addr = data.roadAddress;

            } else { // 사용자가 지번 주소를 선택했을 경우(J)

                addr = data.jibunAddress;

            }


            // 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.

            if(data.userSelectedType === 'R'){

                // 법정동명이 있을 경우 추가한다. (법정리는 제외)

                // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.

                if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){

                    extraAddr += data.bname;

                }

                // 건물명이 있고, 공동주택일 경우 추가한다.

                if(data.buildingName !== '' && data.apartment === 'Y'){

                    extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);

                }

                // 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.

                if(extraAddr !== ''){

                    extraAddr = ' (' + extraAddr + ')';

                }

            }


            // 우편번호와 주소 정보를 해당 필드에 넣는다.

            $("input[name='zipCode']").val(data.zonecode);

            $("input[name='addr']").val(addr + extraAddr);

            // 커서를 상세주소 필드로 이동한다.

            $("input[name='detailAddr']").focus();

        }

    }).open();

}


function compPostcode() {

    new daum.Postcode({

        oncomplete: function(data) {

            // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.


            // 각 주소의 노출 규칙에 따라 주소를 조합한다.

            // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.

            var addr = ''; // 주소 변수

            var extraAddr = ''; // 참고항목 변수


            //사용자가 선택한 주소 타입에 따라 해당 주소 값을 가져온다.

            if (data.userSelectedType === 'R') { // 사용자가 도로명 주소를 선택했을 경우

                addr = data.roadAddress;

            } else { // 사용자가 지번 주소를 선택했을 경우(J)

                addr = data.jibunAddress;

            }


            // 사용자가 선택한 주소가 도로명 타입일때 참고항목을 조합한다.

            if(data.userSelectedType === 'R'){

                // 법정동명이 있을 경우 추가한다. (법정리는 제외)

                // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다.

                if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){

                    extraAddr += data.bname;

                }

                // 건물명이 있고, 공동주택일 경우 추가한다.

                if(data.buildingName !== '' && data.apartment === 'Y'){

                    extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);

                }

                // 표시할 참고항목이 있을 경우, 괄호까지 추가한 최종 문자열을 만든다.

                if(extraAddr !== ''){

                    extraAddr = ' (' + extraAddr + ')';

                }

            }


            // 우편번호와 주소 정보를 해당 필드에 넣는다.

            $("input[name='compZipCode']").val(data.zonecode);

            $("input[name='compAddr']").val(addr + extraAddr);

            // 커서를 상세주소 필드로 이동한다.

            $("input[name='compDetailAddr']").focus();

        }

    }).open();

}

postcode 함수를 주소검색 버튼을 눌렀을때 실행시켜주면  input에 선택한 주소의 값들이 들어간다   input의 id, name은 바꿔줘야한다

728x90
반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함