티스토리 뷰
참조
http://postcode.map.daum.net/guide#usage
주소값을 넣어야 할때 가장 쉬운 방법은 공공 API를 가져오는 것이다.
공공 API 중에서 많이 사용하는 다음 주소 API를 사용해보자.
Basic
다음 주소 API를 사용하려면
1 2 3 4 5 6 7 8 9 | < script src = "http://dmaps.daum.net/map_js_init/postcode.v2.js" ></ script > < script > new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분입니다. // 예제를 참고하여 다양한 활용법을 확인해 보세요. } }).open(); </ script > |
의 코드를 작성해야 한다.
페이지를 동적으로 작성하려고 한다면,
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | < script src = "http://dmaps.daum.net/map_js_init/postcode.v2.js" ></ script > <!--autoload=false 파라미터를 이용하여 자동으로 로딩되는 것을 막습니다.--> < script src = "http://dmaps.daum.net/map_js_init/postcode.v2.js?autoload=false" ></ script > < script > //load함수를 이용하여 core스크립트의 로딩이 완료된 후, 우편번호 서비스를 실행합니다. daum.postcode.load(function(){ new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분입니다. // 예제를 참고하여 다양한 활용법을 확인해 보세요. } }).open(); }); </ script > |
와 같은 코드를 넣으면 된다.
Example
Source
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | < input type = "text" id = "sample4_postcode" placeholder = "우편번호" > < input type = "button" onclick = "sample4_execDaumPostcode()" value = "우편번호 찾기" >< br > < input type = "text" id = "sample4_roadAddress" placeholder = "도로명주소" > < input type = "text" id = "sample4_jibunAddress" placeholder = "지번주소" > < span id = "guide" style = "color:#999" ></ span > < script src = "http://dmaps.daum.net/map_js_init/postcode.v2.js" ></ script > < script > //본 예제에서는 도로명 주소 표기 방식에 대한 법령에 따라, 내려오는 데이터를 조합하여 올바른 주소를 구성하는 방법을 설명합니다. function sample4_execDaumPostcode() { new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분. // 도로명 주소의 노출 규칙에 따라 주소를 조합한다. // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다. var fullRoadAddr = data.roadAddress; // 도로명 주소 변수 var extraRoadAddr = ''; // 도로명 조합형 주소 변수 // 법정동명이 있을 경우 추가한다. (법정리는 제외) // 법정동의 경우 마지막 문자가 "동/로/가"로 끝난다. if(data.bname !== '' && /[동|로|가]$/g.test(data.bname)){ extraRoadAddr += data.bname; } // 건물명이 있고, 공동주택일 경우 추가한다. if(data.buildingName !== '' && data.apartment === 'Y'){ extraRoadAddr += (extraRoadAddr !== '' ? ', ' + data.buildingName : data.buildingName); } // 도로명, 지번 조합형 주소가 있을 경우, 괄호까지 추가한 최종 문자열을 만든다. if(extraRoadAddr !== ''){ extraRoadAddr = ' (' + extraRoadAddr + ')'; } // 도로명, 지번 주소의 유무에 따라 해당 조합형 주소를 추가한다. if(fullRoadAddr !== ''){ fullRoadAddr += extraRoadAddr; } // 우편번호와 주소 정보를 해당 필드에 넣는다. document.getElementById('sample4_postcode').value = data.zonecode; //5자리 새우편번호 사용 document.getElementById('sample4_roadAddress').value = fullRoadAddr; document.getElementById('sample4_jibunAddress').value = data.jibunAddress; // 사용자가 '선택 안함'을 클릭한 경우, 예상 주소라는 표시를 해준다. if(data.autoRoadAddress) { //예상되는 도로명 주소에 조합형 주소를 추가한다. var expRoadAddr = data.autoRoadAddress + extraRoadAddr; document.getElementById('guide').innerHTML = '(예상 도로명 주소 : ' + expRoadAddr + ')'; } else if(data.autoJibunAddress) { var expJibunAddr = data.autoJibunAddress; document.getElementById('guide').innerHTML = '(예상 지번 주소 : ' + expJibunAddr + ')'; } else { document.getElementById('guide').innerHTML = ''; } } }).open(); } </ script > |
예제 코드만 따라해도 어렵지 않다.
참고 사이트를 참조한다면 옵션 등 더 많은 정보를 얻을 수 있다.
'JSP' 카테고리의 다른 글
JSP paging(pagenation) 페이징 소스 (2) | 2017.03.11 |
---|---|
Session 관리하기 (0) | 2016.12.01 |
Http통신을 이용한 JSON 받아오기 (0) | 2016.11.25 |
금액) 숫자 세자리마다 , 넣어주기 (0) | 2016.10.25 |
댓글