SIR 도로명주소 코드에서 다음(DAUM) 주소검색 코드로 수정하는 방법
SIR 도로명주소 서비스는 2014년 10월 31일까지만 지원합니다.
http://sir.co.kr/bbs/board.php?bo_table=co_notice&wr_id=1160
SIR 도로명주소에서 다음 주소검색 서비스로 변경하게 되면서 수정된 파일 및 코드입니다.
참고하셔서 운영중인 사이트에 적용하시기 바랍니다.
궁금하신점은 댓글로 남겨주십시오.
====================================================================================================
bbs/zip.db
skin/member/basic/zip.skin.php
위 파일은 삭제 되었습니다.
====================================================================================================
adm/member_form.php - 관리자는 우폅번호 부터 참고항목 까지 주소와 관련된 모든 필드를 수정할수 있습니다.
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
<input type="hidden" name="mb_addr_jibeon" value="<?=$member['mb_addr_jibeon']; ?>">
<input class=ed type=text name='mb_zip1' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리' value='<?=$member[mb_zip1]?>' style="vertical-align:middle">
-
<input class=ed type=text name='mb_zip2' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리' value='<?=$member[mb_zip2]?>' style="vertical-align:middle">
<a href="javascript:;" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');" align=absmiddle><img width="74" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></a></td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr1' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='기본주소' value='<?=$member[mb_addr1]?>'> 기본주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr2' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='상세주소' value='<?=$member[mb_addr2]?>'> 상세주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr3' size=60 readonly itemname='참고항목' value='<?=$member[mb_addr3]?>'> 참고항목</td>
</tr>
</table>
====================================================================================================
skin/member/basic/register_form.skin.php - 지번주소를 노출하지 않습니다.
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
<input type="hidden" name="mb_addr_jibeon" value="<?=$member['mb_addr_jibeon']; ?>">
<input class=ed type=text name='mb_zip1' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리' value='<?=$member[mb_zip1]?>' style="vertical-align:middle">
-
<input class=ed type=text name='mb_zip2' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리' value='<?=$member[mb_zip2]?>' style="vertical-align:middle">
<a href="javascript:;" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');" align=absmiddle><img width="74" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></a></td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr1' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='기본주소' value='<?=$member[mb_addr1]?>'> 기본주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr2' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='상세주소' value='<?=$member[mb_addr2]?>'> 상세주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr3' size=60 readonly itemname='참고항목' value='<?=$member[mb_addr3]?>'> 참고항목</td>
</tr>
</table>
====================================================================================================
bbs/zip.php - 코드 전체가 변경 되었습니다.
<?
include_once("./_common.php");
$g4[title] = "다음 주소 검색";
include_once("$g4[path]/head.sub.php");
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') { //https 통신
echo '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.js"></script>'.PHP_EOL;
} else { //http 통신
echo '<script src="http://dmaps.daum.net/map_js_init/postcode.js"></script>'.PHP_EOL;
}
echo '<script src="'.$g4['path'].'/js/zip.js"></script>'.PHP_EOL;
?>
<style>
#daum_juso_wrap{position:absolute;left:0;top:0;width:100%;height:100%}
</style>
<div id="daum_juso_wrap" class="daum_juso_wrap"></div>
<script>
function put_data2(zip1, zip2, addr1, addr2, addr3, jibeon)
{
var of = window.opener.document.<?php echo $frm_name; ?>;
of.<?php echo $frm_zip1; ?>.value = zip1;
of.<?php echo $frm_zip2; ?>.value = zip2;
of.<?php echo $frm_addr1; ?>.value = addr1;
of.<?php echo $frm_addr2; ?>.value = addr2;
of.<?php echo $frm_addr3; ?>.value = addr3;
if( jibeon ){
if(of.<?php echo $frm_jibeon; ?> !== undefined){
of.<?php echo $frm_jibeon; ?>.value = jibeon;
}
}
of.<?php echo $frm_addr2; ?>.focus();
window.close();
}
</script>
<?
include_once("$g4[path]/tail.sub.php");
?>
====================================================================================================
js/common.js - 우편번호 창의 크기가 바뀌어 아래 코드만 변경 되었습니다.
//win_open(url, "winZip", "left=50,top=50,width=616,height=460,scrollbars=1");
win_open(url, "winZip", "left=50,top=50,width=483,height=600,scrollbars=1");
====================================================================================================
js/zip.js - 코드 전체가 변경 되었습니다.
$(function() {
var el_id = document.getElementById("daum_juso_wrap");
new daum.Postcode({
oncomplete: function(data) {
var address1 = data.address1,
address2 = "";
if(data.addressType == "R"){ //도로명이면
address2 = data.address2;
}
put_data2(data.postcode1, data.postcode2, address1, "", address2, data.addressType);
},
width : "100%",
height : "100%"
}).embed(el_id);
});
http://sir.co.kr/bbs/board.php?bo_table=co_notice&wr_id=1160
SIR 도로명주소에서 다음 주소검색 서비스로 변경하게 되면서 수정된 파일 및 코드입니다.
참고하셔서 운영중인 사이트에 적용하시기 바랍니다.
궁금하신점은 댓글로 남겨주십시오.
====================================================================================================
bbs/zip.db
skin/member/basic/zip.skin.php
위 파일은 삭제 되었습니다.
====================================================================================================
adm/member_form.php - 관리자는 우폅번호 부터 참고항목 까지 주소와 관련된 모든 필드를 수정할수 있습니다.
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
<input type="hidden" name="mb_addr_jibeon" value="<?=$member['mb_addr_jibeon']; ?>">
<input class=ed type=text name='mb_zip1' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리' value='<?=$member[mb_zip1]?>' style="vertical-align:middle">
-
<input class=ed type=text name='mb_zip2' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리' value='<?=$member[mb_zip2]?>' style="vertical-align:middle">
<a href="javascript:;" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');" align=absmiddle><img width="74" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></a></td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr1' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='기본주소' value='<?=$member[mb_addr1]?>'> 기본주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr2' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='상세주소' value='<?=$member[mb_addr2]?>'> 상세주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr3' size=60 readonly itemname='참고항목' value='<?=$member[mb_addr3]?>'> 참고항목</td>
</tr>
</table>
====================================================================================================
skin/member/basic/register_form.skin.php - 지번주소를 노출하지 않습니다.
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="25">
<input type="hidden" name="mb_addr_jibeon" value="<?=$member['mb_addr_jibeon']; ?>">
<input class=ed type=text name='mb_zip1' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 앞자리' value='<?=$member[mb_zip1]?>' style="vertical-align:middle">
-
<input class=ed type=text name='mb_zip2' size=4 maxlength=3 <?=$config[cf_req_addr]?'required':'';?> itemname='우편번호 뒷자리' value='<?=$member[mb_zip2]?>' style="vertical-align:middle">
<a href="javascript:;" onclick="win_zip('fregisterform', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2', 'mb_addr3', 'mb_addr_jibeon');" align=absmiddle><img width="74" height="20" src="<?=$member_skin_path?>/img/post_search_btn.gif" border=0 align=absmiddle></a></td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr1' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='기본주소' value='<?=$member[mb_addr1]?>'> 기본주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr2' size=60 <?=$config[cf_req_addr]?'required':'';?> itemname='상세주소' value='<?=$member[mb_addr2]?>'> 상세주소</td>
</tr>
<tr>
<td height="25" colspan="2"><input class=ed type=text name='mb_addr3' size=60 readonly itemname='참고항목' value='<?=$member[mb_addr3]?>'> 참고항목</td>
</tr>
</table>
====================================================================================================
bbs/zip.php - 코드 전체가 변경 되었습니다.
<?
include_once("./_common.php");
$g4[title] = "다음 주소 검색";
include_once("$g4[path]/head.sub.php");
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') { //https 통신
echo '<script src="https://spi.maps.daum.net/imap/map_js_init/postcode.js"></script>'.PHP_EOL;
} else { //http 통신
echo '<script src="http://dmaps.daum.net/map_js_init/postcode.js"></script>'.PHP_EOL;
}
echo '<script src="'.$g4['path'].'/js/zip.js"></script>'.PHP_EOL;
?>
<style>
#daum_juso_wrap{position:absolute;left:0;top:0;width:100%;height:100%}
</style>
<div id="daum_juso_wrap" class="daum_juso_wrap"></div>
<script>
function put_data2(zip1, zip2, addr1, addr2, addr3, jibeon)
{
var of = window.opener.document.<?php echo $frm_name; ?>;
of.<?php echo $frm_zip1; ?>.value = zip1;
of.<?php echo $frm_zip2; ?>.value = zip2;
of.<?php echo $frm_addr1; ?>.value = addr1;
of.<?php echo $frm_addr2; ?>.value = addr2;
of.<?php echo $frm_addr3; ?>.value = addr3;
if( jibeon ){
if(of.<?php echo $frm_jibeon; ?> !== undefined){
of.<?php echo $frm_jibeon; ?>.value = jibeon;
}
}
of.<?php echo $frm_addr2; ?>.focus();
window.close();
}
</script>
<?
include_once("$g4[path]/tail.sub.php");
?>
====================================================================================================
js/common.js - 우편번호 창의 크기가 바뀌어 아래 코드만 변경 되었습니다.
//win_open(url, "winZip", "left=50,top=50,width=616,height=460,scrollbars=1");
win_open(url, "winZip", "left=50,top=50,width=483,height=600,scrollbars=1");
====================================================================================================
js/zip.js - 코드 전체가 변경 되었습니다.
$(function() {
var el_id = document.getElementById("daum_juso_wrap");
new daum.Postcode({
oncomplete: function(data) {
var address1 = data.address1,
address2 = "";
if(data.addressType == "R"){ //도로명이면
address2 = data.address2;
}
put_data2(data.postcode1, data.postcode2, address1, "", address2, data.addressType);
},
width : "100%",
height : "100%"
}).embed(el_id);
});
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 10개
사이트에 적용된 코드들이 서로 다르므로 이상이 없다 말씀 드릴수는 없습니다.
기존의 코드는 백업 받으신후 작업해 주시기 바랍니다.
해보니 안되는거 같은데..
기존 도로명주로를 업데이트를 하지 않은 사람들은 어떻게 다음 도로명으로 업데이트 하나요?
위 코드는 내가 가지고 있는 mysql의 db에 접속하는 방식이 아니고 api에 접속해서 끌어오는 방식입니다
테스트 해봐야겠네요 감사합니다.
우편번호 입력할때 주소검색이 전혀안대나여? 아니면 단지 도로명 주소만 제공이 안대는건가여?