본문 바로가기

홈페이지 Tip/HTML,CSS

주소검색 API를 활용하여 주소 검색 기능 구현하기(팝업 API)

일반적으로 회원가입 시 주소 검색 기능은 필수로 들어가야 하는 요소 중에 하나이다.
예전에는 우체국 DB를 활용하여 자체 주소 DB를 만들었다.

하지만 도로명 주소가 전면적으로 시행 되면서 지번과 도로명 주소의 빈번한 수정과 추가로 최신 DB를 유지하는데 어려움이 많다.
따라서 별도의 주소 DB 구축 없이 도로명주소가 자동으로 업데이트 되는 주소 검색 기능이 필요하다.

 

도로명주소 검색 사이트(http://www.juso.go.kr/)

 

별도의 주소 DB 구축 없이 도로명주소가 자동으로 업데이트 되는 주소 검색 API를 활용하면 주소 검색 기능을 구현할 수 있는데, 대표적으로 행정안정부에서 제공하는 도로명주소API와 우체국에서 제공하는 OPEN API, 다음 카카오톡에서 제공하는 우편번호 서비스 등이 있다.

그 중에서 행정안저부에서 제공하는 도로명주소API(팝업 API)를 활용하여 주소 검색 기능 구현을 해보자.

 

도로명주소 검색 오픈 API(팝업 API)를 이용하여 기능 구현하기

행정안저부에서 제공하는 도로명주소API를 활용하려면 가장 먼저 승인키부터 발급 받아야 한다.
도로명주소 개발자센터(http://www.juso.go.kr/addrlink/main.do) 접속 후 'API 서비스 신청하기'를 눌러 승인키를 발급 받는다.
신청방법은 필수사항을 선택 / 입력한 뒤 신청하기 버튼을 누르면 된다.

 

도로명주소 개발자센터(http://www.juso.go.kr/addrlink/main.do)
도로명주소API 신청하기
신청내역

팝업 API는 통합 검색 및 검색결과가 표시되는 새 창 형태의 팝업 화면을 제공하며, 검색 API는 검색어 등을 파라미터로 전달받아 검색된 결과를 XML 또는 JSON 형식의 데이터로 받는다.

 

오픈API > 도로명주소API 페이지에서 자신의 개발 언어에 맞는 가이드 및 소스를 다운 받는다.

 

가이드 및 소스 다운로드

 

jusoPopup.php 파일을 열어 init 함수의 confmKey를 발급 받은 승인키로 수정한다.

 

jusoPopup.php 수정

 

index.php 파일을 실행하면 아래의 화면이 출력된다.
주소 검색을 누르면 도로명주소 주소 검색 팝업창이 열린다.

 

index.php 페이지 실행
주소검색 팝업 페이지

 

원하는 주소를 검색, 선택하고 상세주소를 입력하여 주소입력 버튼을 클릭하면
index.php 화면에 해당 출력 결과를 출력하게 된다.

 

주소 검색 페이지
검색된 주소 index 페이지

 

실제로 주소검색하는 페이지에 적용하면 된다.

 

실제로 주소검색하는 페이지에서 주소검색 버튼을 누르면 주소검색 팝업창이 뜬다.
'반포대로 58'로 검색하고 선택하여 상세주소를 입력하고 '주소입력' 버튼을 클릭하면
전체 도로명주소인 roadFullAddr 항목만 출력된 것을 확인할 수 있다.

 

실제 페이지 적용
주소검색 팝업창
주소검색 출력 페이지

 

출력 파라미터 정보

출력 파라미터 정보는 다음과 같다.

 

roadFullAddr : 전체 도로명주소
roadAddrPart1 : 도로명주소(참고항목 제외)
roadAddrPart2 : 도로명주소 참고항목
jibunAddr : 지번 정보
engAddr : 도로명주소(영문)
zipNo : 우편번호
admCd : 행정구역코드
rnMgtSn : 도로명코드
bdMgtSn : 건물관리번호
addrDetail : 고객 입력 상세 주소
detBdNmList : 상세건물명
bdNm : 건물명
bdKdcd : 공동주택여부 (1:공동주택, 0: 비공동주택)
siNm : 시도명
sggNm : 시군구명
emdNm : 읍면동명
liNm : 법정리명
rn : 도로명
udrtYn : 지하여부 (0:지상, 1:지하)
buldMnnm : 건물본번
buldSlno : 건물부번 (부번이 없는 경우 0)
mtYn : 산여부 (0:대지, 1:산)
lnbrMnnm : 지번본번(번지)
lnbrSlno : 지번부번(호) (부번이 없는 경우 0)
emdNo : 읍면동일련번호

'홈페이지 Tip > HTML,CSS' 카테고리의 다른 글

HTML5 기본 개념  (0) 2016.11.16
html css 태그, div 중앙정렬 방법 6가지  (0) 2016.11.16