JAVASCRIPT

다음api를 이용한 우편번호 연동

지니 2021. 10. 13. 13:00
반응형

안녕하세요.

 

쇼핑몰 사이트를 운영할려면 가장 기본이자 필수인 우편번호 연동입니다. 

옛날엔 직접 DB를 가지고 사용했던 기억이 있는데(벌써 10년도 넘었네요...) 요즘은 보통 api 쓰시죠?

다음 api 연동방법입니다. 

 

참고 

https://postcode.map.daum.net/guide

 

Daum 우편번호 서비스

우편번호 검색과 도로명 주소 입력 기능을 너무 간단하게 적용할 수 있는 방법. Daum 우편번호 서비스를 이용해보세요. 어느 사이트에서나 무료로 제약없이 사용 가능하답니다.

postcode.map.daum.net

1

. 다음api 키 발급받기.

감사하게도 다음은 api 키를 발급 받을 필요가 없습니다.

다음카카오 복 받으세요 :) 

 

2. 사용 코드

<script src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js"></script>  <-- https 일 때 

 

daum.postcode.load(function(){

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('sel_company_zipcode').value = data.zonecode; //5자리 새우편번호 사용
document.getElementById('sel_company_add1').value = fullRoadAddr;
//document.getElementById('sel_company_add2').value = data.jibunAddress;
$("#sel_company_add2").focus();


}
}).open();

});

 

 

3. script  

http 사이트 에서는 

<script src="http://dmaps.daum.net/map_js_init/postcode.v2.js?autoload=false"></script>

 

https 사이트 에서는 

<script src="https://ssl.daumcdn.net/dmaps/map_js_init/postcode.v2.js"></script>

 

다른 url 을 호출해 사용해야 문제가 없더라구요. 

 

반응형