답변 4개
몇가지 방법으로 테스트 해보니 일반적인 방법으로 값이 잘 전달이 안되는 것 같고 아래처럼 하세요
var add function getAddr(lat,lng){ let geocoder = new kakao.maps.services.Geocoder(); let coord = new kakao.maps.LatLng(lat, lng); let callback = function(result, status) { if (status === kakao.maps.services.Status.OK) { console.log(result); // alert( result[0].road_address.address_name); add= result[0].address.address_name; //document.write(add); } }
geocoder.coord2Address(coord.getLng(), coord.getLat(), callback); }
getAddr(lat,lng); setTimeout(function(){document.write(add); alert(add) }, 500);//<---8000(8초)까지는 필요 없습니다. 8초나 걸려야 한다면 쓸 수 없는 상태입니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
안되는가요?
함수내에서는 나오는데 함수 밖에서 값이 안나온다면 함수에서 값을 추출하기도 전에 함수밖의 코드가 실행 되어서 입니다
방법은 두가지
1. return result[0].address.address_name; <--이 자리에 값을 출력하는 코드를 넣는다
document.write(result[0].address.address_name);
2. 주소를 추출하는 시간 동안의 딜레이를 약간 주어서 값을 출력한다
var aaa = getAddr(lat,lng); setTimeout(function(){ document.write(aaa); }, 1000);
답변에 대한 댓글 1개
이렇게 해도 안되네요;;;
document.write(result[0].address.address_name);
이렇게는 되긴했는데... 위의 방법이 깔끔한것같아서 계쏙 이리저리해보고 있는데 안되네요..ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
추가 피해자 방지 https://sir.kr/conflictconsultation/245" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/conflictconsultation/245
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
let lng = 126.570667;
function getAddr(lat,lng){
let geocoder = new kakao.maps.services.Geocoder();
let coord = new kakao.maps.LatLng(lat, lng);
let callback = function(result, status) {
if (status === kakao.maps.services.Status.OK) {
console.log(result);
return result[0].address.address_name;
//document.write(result[0].address.address_name);
}
};
geocoder.coord2Address(coord.getLng(), coord.getLat(), callback);
}
var aaa = getAddr(lat,lng);
document.write(aaa);
이렇게 해도 안되는데용..ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
2일을 고생했는데 정말 감사합니다!!!