API

[API] Daum 우편번호 API 사용 및 적용

AlexHouse 2022. 6. 15. 14:07
728x90

 


회원 데이터에는 주소가 빠질수 없지 않은가?

 

다음 API를 통해서 주소를 쉽게 가져와보자

 

 


결과값

 

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

 

Daum 우편번호 서비스

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

postcode.map.daum.net

 

 

 

다음과 같이 우편번호 API를 만들어내면 

 

우편번호 찾기를 클릭!

 

 

 

그러면 다음과 같이 팝업이 뜨게된다

 

 

 

 

 

이렇게 입력한다음에 본인이 원하는

 

주소를 클릭해준다.

 

 

 

 

 

그럼 이런식으로 자동으로 매핑이 된다.!

 

 

과정

 

 

 

 

 

구글에 다음 같이 입력하고 

 

사이트에들어간다

 

 

 

 

 

다음 화면이 뜨는데 

 

걱정없이 확인 클릭

 

 

 

 

 

그럼 다음 페이지 로 넘어와 진다

 

 

 

 

직접 눌러보고

 

보인이 사용하고 싶은

 

예제 코드보기를 누른다.

 

 

 

 

 

그럼 이런식으로 

 

바로 사용 할 수 잇는 API 코드가

 

나타난다.

 

<script type="text/javascript">
	
	function sample6_execDaumPostcode() {
	        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 + ')';
	                    }
	                    // 조합된 참고항목을 해당 필드에 넣는다.
	                    document.getElementById("sample6_extraAddress").value = extraAddr;
	                
	                } else {
	                    document.getElementById("sample6_extraAddress").value = '';
	                }
	
	                // 우편번호와 주소 정보를 해당 필드에 넣는다.
	                document.getElementById('sample6_postcode').value = data.zonecode;
	                document.getElementById("sample6_address").value = addr;
	                // 커서를 상세주소 필드로 이동한다.
	                document.getElementById("sample6_detailAddress").focus();
	                

					
				}
	        }).open();
	    }
	</script>

 

 

자바 스크립트를 복사해서

 

body 밖에 복붙해주고

 

 

<input type="text" id="sample6_postcode" placeholder="우편번호">
<input type="button" onclick="sample6_execDaumPostcode()" value="우편번호 찾기"><br>
<input type="text" id="sample6_address" placeholder="주소"><br>
<input type="text" id="sample6_detailAddress" placeholder="상세주소">
<input type="text" id="sample6_extraAddress" placeholder="참고항목">

 

 

 

다음 코드를 <body> 안쪽에 </body>

 

넣어준다면 끝!

 

 

 

 

이렇게 깔끔한 API가 나온다.

 

 

 


 

 

To be continue..

 

728x90

'API' 카테고리의 다른 글

[API] 포스트맨 사용 해보기  (0) 2022.05.25