리뷰하고 기록하기
주소 검색하면 좌표 반환하기 본문
// 우편번호 찾기 찾기 화면을 넣을 element
var element_wrap = document.getElementById('wrap');
function foldDaumPostcode() {
// iframe을 넣은 element를 안보이게 한다.
element_wrap.style.display = 'none';
$('#wrap').hidden();
}
function sample3_execDaumPostcode() {
// 현재 scroll 위치를 저장해놓는다.
var currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
new daum.Postcode({
oncomplete: function(data) {
// 검색결과 항목을 클릭했을때 실행할 코드를 작성하는 부분.
// 각 주소의 노출 규칙에 따라 주소를 조합한다.
// 내려오는 변수가 값이 없는 경우엔 공백('')값을 가지므로, 이를 참고하여 분기 한다.
var fullAddr = data.address; // 최종 주소 변수
var extraAddr = ''; // 조합형 주소 변수
// 기본 주소가 도로명 타입일때 조합한다.
if(data.addressType === 'R'){
//법정동명이 있을 경우 추가한다.
if(data.bname !== ''){
extraAddr += data.bname;
}
// 건물명이 있을 경우 추가한다.
if(data.buildingName !== ''){
extraAddr += (extraAddr !== '' ? ', ' + data.buildingName : data.buildingName);
}
// 조합형주소의 유무에 따라 양쪽에 괄호를 추가하여 최종 주소를 만든다.
fullAddr += (extraAddr !== '' ? ' ('+ extraAddr +')' : '');
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById('co_addrs').value = data.zonecode; //5자리 새우편번호 사용
document.getElementById('co_addrs').value = fullAddr;
xy_finder(fullAddr);
// iframe을 넣은 element를 안보이게 한다.
// (autoClose:false 기능을 이용한다면, 아래 코드를 제거해야 화면에서 사라지지 않는다.)
element_wrap.style.display = 'none';
// 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
document.body.scrollTop = currentScroll;
},
// 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분. iframe을 넣은 element의 높이값을 조정한다.
onresize : function(size) {
element_wrap.style.height = size.height+'px';
},
width : '100%',
height : '100%'
}).open();
// iframe을 넣은 element를 보이게 한다.
// element_wrap.style.display = 'block';
}
function xy_finder(S){
var Sstr = encodeURI(S);
$.ajax({
url : "https://apis.daum.net/local/geo/addr2coord?apikey=da354a950dcacb915dd0b0a5dd91dab9&q="+Sstr+"&output=json",
dataType : "jsonp",
jsonp : "callback", // url로 넘겨주는 변수가 된다.
success : function(data) {
var corx = data['channel']['item'][0]['lat'];
var cory = data['channel']['item'][0]['lng'];
$("#co_corsx").val(corx);
$("#co_corsy").val(cory);
},
error : function(e) {
alert(e.responseText);
}
});
}
'work' 카테고리의 다른 글
serialize 한글코딩 (0) | 2018.11.26 |
---|---|
temp (0) | 2017.08.08 |
배열 셀렉트박스로 변환하기 (0) | 2017.03.16 |
ancker tag scrolling (0) | 2017.03.16 |
입력시 자동으로 숫자교체 (0) | 2017.03.16 |