카카오 맵 api 사용했는데 귀사에서 사용하는 카카오맵의 마커 위치가 다르게 나오는 듯 합니다.
첫번째, 두번째 이미지는 제가 스크립트를 통해 얻은 결과값 및 지도에 나타난 마커
세번째 이미지는 귀사 지도에 나오는 마커입니다.
제가 사용한 다음 주소 api 함수 전달드립니다.
function sample3_execDaumPostcode() {
// 현재 scroll 위치를 저장해놓는다.
var currentScroll = Math.max(document.body.scrollTop, document.documentElement.scrollTop);
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 + ')';
}
// 조합된 참고항목을 해당 필드에 넣는다.
//document.getElementById("sample3_extraAddress").value = extraAddr;
} else {
//document.getElementById("sample3_extraAddress").value = '';
}
// 우편번호와 주소 정보를 해당 필드에 넣는다.
document.getElementById('sample3_postcode').value = data.zonecode;
document.getElementById("sample3_address").value = addr;
document.getElementById("sample3_detailAddress").focus();
element_wrap.style.display = 'none';
// 우편번호 찾기 화면이 보이기 이전으로 scroll 위치를 되돌린다.
document.body.scrollTop = currentScroll;
Promise.resolve(data).then(o => {
const { address } = data;
return new Promise((resolve, reject) => {
const geocoder = new daum.maps.services.Geocoder();
geocoder.addressSearch(address, (result, status) =>{
if(status === daum.maps.services.Status.OK){
console.log(result);
const { x, y } = result[0];
resolve({ lat: y, lon: x })
}else{
reject();
}
});
})
}).then(result => {
// 위, 경도 결과 값
if(result['lat'] != ""){ $("#ad_lat").val(result['lat']); }
if(result['lon'] != ""){ $("#ad_lng").val(result['lon']); }
});
},
// 우편번호 찾기 화면 크기가 조정되었을때 실행할 코드를 작성하는 부분. iframe을 넣은 element의 높이값을 조정한다.
onresize : function(size) {
element_wrap.style.height = size.height+'px';
},
width : '100%',
height : '100%'
}).embed(element_wrap);
// iframe을 넣은 element를 보이게 한다.
element_wrap.style.display = 'block';
}
※※※ 정보가 일치하지 않아 임시방편으로 데이터베이스에서 좌표만 우선 변경해놨습니다. ※※※