2011-10-11 3 views
1

왜 r1 변수가 정의되지 않았는지 알 수 없습니다. 'latLng를'mEvent.latLng 것은Google Maps 지오 코드가 수신기 안에 있습니다.

<!-- API V3 --> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 

... 다른 기능에 OK하고있다 ....

.....

을 ....

google.maps.event.addListener(map, 'click', function(mEvent) { 

      var geo1 = new google.maps.Geocoder(); 
      geo1.geocode({ 'latLng': mEvent.latLng }, function(results, status) { 
       if (status == google.maps.GeocoderStatus.OK) 
       { 
        var r1 = results[0].formatted_address; 
       } 
       else 
       { 
        var r1 = '?'; 
       } 
      }); 

      //do things with mEvent.latLng and r1... 
+0

'결과 '가'r1'에 할당되기 전에 그 값은 무엇입니까? 너 console.log 할 수있어? – Kai

답변

1

변수 r1은 범위를 벗어났기 때문에 아마 정의되지 않았습니다. 선언을 약간 옮겨야합니다. 예컨대 :

google.maps.event.addListener(map, 'click', function(mEvent) { 

     var geo1 = new google.maps.Geocoder(); 
     var r1; 
     geo1.geocode({ 'latLng': mEvent.latLng }, function(results, status) { 
      if (status == google.maps.GeocoderStatus.OK) 
      { 
       r1 = results[0].formatted_address; 
      } 
      else 
      { 
       r1 = '?'; 
      } 
     }); 

     //do things with mEvent.latLng and r1... 

여전히 (Firefox에서) 몇 가지 문제를 사용 방화범을 찾거나 다른 브라우저에서 디버거에 내장합니다. "디버거"를 삽입 할 수 있습니다. 디버거가 활성화되어있을 때 일부 줄에서 키워드를 중지하십시오. 그러면 어떤 변수가 사용 가능한지 확인할 수 있습니다.

관련 문제