Geocoder 함수와 관련하여

안녕하세요.
변경된 것으로 테스트 하는데 이 분야에 지식이 너무 부족하고 잘안되서 문의드립니다.
변경하기전의 다음 맵으론 아무런 문제가 없습니다.

.net 외부프로그램으로 지도를 열어 아래 getAddrSearch함수호출하고 callback 값 받아서 변수에 저장만 하면 되는데
왜, callback 값을 못 받는지 모르겠습니다. 주석 달아가면서 테스트 했구요 내용을 보시고 좀 봐주세요

 //.NET 프로그램에서   _WebBrowser.Document.InvokeScript("getAddrSearch", New Object() {sLat,      sLon}) 형식으로 호출합니다.
 // appkey 및 외부에서 함수호출 문제 없음

src="//dapi.kakao.com/v2/maps/sdk.js?appkey=5555555555555555f3&libraries=services"
var geocoder = new daum.maps.services.Geocoder();

// 좌표 -> 주소  
 function getAddrSearch(Lat, lng) {

       //alert(Lat  + ',' + lng);     //36.992191314697266,127.11276141601562  외부에서 받는 것도 OK

      var coord = new daum.maps.LatLng(Lat, lng);    //함수 안에서 받아서도 해보구~

      //alert(coord);             // 위 값과 동일하게 ( )안에 OK
     //alert(coord.getLat());  //36.992191314697266 동일하게 OK
     //alert(coord.getLng()); //127...... OK

    geocoder.coord2Address(coord.getLng(), coord.getLat(), callback); //Lng이 앞에 오도록

   }

var callback = function(result, status) {
    if (status === daum.maps.services.Status.OK) {
        // alert(status);
        //alert(result);
        alert('그런 너를 마주칠까 ' + result[0].address.address_name + ' 검색 결과만 받으면 OK인디.... ');
    }
        //alert(status);
        //alert(result);
        alert('그런 너를 마주칠까');
  };

요고 아마도

result[0].address_name

이렇게 접근해야 될거에요.

result[0].address_name 으로 바꿔서도 해보았는데요.
아예 callback 이벤트가 일어나지 않습니다. 좌표도 바꿔보면서 메세지 뜨도록 테스트 해보았거든요.
뭔가 제한되지 않았나 싶을 정도입니다.
뭐 거의 비슷하니까… http://apis.daum.net/maps/maps3.js?apikey=dc6cc… 로 바꾸고 물론 함수 내용도 적절하게 바꿔서 확인 해보면 정상입니다.

음…
충분히 잘 마이그레이션 하신거 같은데…

응답 결과가 어떻게 떨어지는지 혹시 확인 가능할까요?
브라우저 환경이 아니니 fiddler 같은 툴로요.

Daummap API -> 샘플 -> 좌표로 주소 얻어내기 -> 직접해보기 에서 아래 처럼 callback 함수를 넣어 확인하여 보았습니다.
제가 정확한 것인지는 잘 모르겠으나 여기서도 지도 클릭시 callback이벤트는 하지 않습니다.
지도를 이동시키면 callback이벤트를 하더군요. 메세지박스 뜨는 것으로 확인하였습니다.

샘플중…

function searchDetailAddrFromCoords(coords, callback) {
    // 좌표로 법정동 상세 주소 정보를 요청합니다
    geocoder.coord2Address(coords.getLng(), coords.getLat(),callback);
}

var callback = function(result, status) {
    if (status === daum.maps.services.Status.OK) {
        alert('그런');
     }
     alert('그런 너를');
};

위의 예제에서 안되는 이유는 좀 다른것 같습니다.

function searchDetailAddrFromCoords(coords, callback) {
    // 좌표로 법정동 상세 주소 정보를 요청합니다
    geocoder.coord2Address(coords.getLng(), coords.getLat(),callback);
}

이 함수에 이미 parameter로 callback을 받는데,
이건 밖에서 선언된

var callback = function(result, status) {
    if (status === daum.maps.services.Status.OK) {
        alert('그런');
     }
     alert('그런 너를');
};

같은 이름의 callback 함수보다 우선합니다. 아무리 var 선언이 hoisting된다지만
callback이란 이름의 변수는 해당 블락 스코프에서 먼저 찾게 되므로
param으로 받은 callback을 사용하게 됩니다.
그래서 뒤에 선언된 callback은 무시되는게 맞는거죠.

같은 코드에

function searchDetailAddrFromCoords(coords /*, callback*/) {
    // 좌표로 법정동 상세 주소 정보를 요청합니다
    geocoder.coord2Address(coords.getLng(), coords.getLat(),callback);
}

파라메터만 빼도 원하는 동작을 합니다.