spring 24강 도로명 주소(daum api)
- 직접 구축하는 방법 / API 링크시켜 쉽게 사용하는 방법
도로명주소 개발자센터 도로명주소 DB 다운로드
: http://www.juso.go.kr/addrlink/addressBuildDevNew.do?menu=mainJusoDb
초기 구축비용이 너무 많이 들고, 용량도 크고, 변동될 때마다 반영시켜줘야한다.
- 직접 구축하는 방법 / API 링크시켜 쉽게 사용하는 방법
행정자치부 도로명주소 사이트 : http://www.juso.go.kr/
도로명주소 개발자센터 오픈 API 신청하기
: https://www.juso.go.kr/addrlink/devAddrLinkRequestWrite.do?returnFn=write&cntcMenu=URL
다음 API : http://apis.map.kakao.com/web/guide/
menu.jsp
1 | <a href="${path}/member/address.do">도로명주소</a> |
MemberController.java
1 2 3 4 | @RequestMapping("address.do") public String address() { return "member/join"; } |
join.jsp (다음 API 사이트에서 가져온 코드 변수만 조금 수정한 것)
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <%@ include file="../include/header.jsp" %> <script src="http://dmaps.daum.net/map_js_init/postcode.v2.js"></script> <script> function daumZipCode() { new daum.Postcode({ oncomplete: function(data) { // 팝업에서 검색결과 항목을 클릭했을때 //실행할 코드를 작성하는 부분. // 각 주소의 노출 규칙에 따라 주소를 조합한다. // 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, //이를 참고하여 분기 한다. var fullAddr = ''; // 최종 주소 변수 var extraAddr = ''; // 조합형 주소 변수 // 사용자가 선택한 주소 타입에 따라 해당 주소 값을 //가져온다. // 사용자가 도로명 주소를 선택했을 경우 if (data.userSelectedType === 'R') { fullAddr = data.roadAddress; } else { // 사용자가 지번 주소를 선택했을 경우(J) fullAddr = data.jibunAddress; } // 사용자가 선택한 주소가 도로명 타입일때 조합한다. if(data.userSelectedType === 'R'){ //법정동명이 있을 경우 추가한다. if(data.bname !== ''){ extraAddr += data.bname; } // 건물명이 있을 경우 추가한다. if(data.buildingName !== ''){ extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName); } // 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다. fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : ''); } // 우편번호와 주소 정보를 해당 필드에 넣는다. document.getElementById('zipcode').value = data.zonecode; //5자리 새우편번호 사용 document.getElementById('address1').value = fullAddr; // 커서를 상세주소 필드로 이동한다. document.getElementById('address2').focus(); } }).open(); } </script> </head> <body> <%@ include file="../include/menu.jsp" %> <form name="form1" method="post"> 우편번호 : <input name="zipcode" id="zipcode" readonly size="10"> <input type="button" onclick="daumZipCode()" value="우편번호 찾기"><br> 주소 : <input name="address1" id="address1" size="60"><br> 상세주소 : <input name="address2" id="address2"> </form> </body> </html> |
'Spring > study' 카테고리의 다른 글
spring 27강 Spring Boot와 MongboDB 연동 실습(한줄메모장) (0) | 2019.07.11 |
---|---|
spring 25강 Spring Boot와 Oracle 연동, Thymeleaf Template 적용 (1) | 2019.07.10 |
spring 23강 게시판 만들기4( 게시물 수정 ) (0) | 2019.07.08 |
@RequestBody 어노테이션과 @ReponseBody 어노테이션의 사용 (0) | 2019.07.05 |
spring 22강 게시판 만들기3( 상세 화면, 댓글 쓰기/댓글 목록/댓글 갯수) (0) | 2019.07.04 |