티스토리 뷰
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은 바꿔줘야한다
'JavaScript' 카테고리의 다른 글
[JavaScript] 이메일 형식 확인 (0) | 2019.06.14 |
---|---|
[JavaScript & window] 자식창에서 부모창의 값을 가져오는법 (0) | 2019.06.13 |
[JavaScript & window] 팝업창 브라우저 중앙에 위치 (0) | 2019.06.13 |
[JavaScript & window] 자식창이 종료되었는지 확인 (0) | 2019.06.13 |
[JavaScript & window] 페이지가 새로고침될때 작업하는방법 (1) | 2019.06.13 |