2014-01-22 5 views
0

저는 PHP를 사용하여 MySQL 데이터에서 json 파일을 만듭니다. 마커를 클릭하면 Google지도의 정보 창에이 데이터 중 일부가 표시됩니다.Google지도 V3 json의 InfoWindow가 표시되지 않습니다.

현재 나는 모든 마커를 표시 얻을 수 있지만 오류가 나타납니다 내가, 내가 정보 창을 설정하는 방식에 일부 실수를하고 가정

Uncaught ReferenceError: InfoWnd is not defined

을하지만 난의 소수를 시도했습니다 방법과 나는 항상 같은 오류 메시지가 나타납니다.

이 내 자바 스크립트는 지금까지입니다 : **

<script type="text/javascript"> 
      var map; 
    function initialize() { 
        var mapOptions = { 
         center: new google.maps.LatLng(48.476, -81.312), 
         zoom: 18, 
         mapTypeId: google.maps.MapTypeId.SATELLITE 
        }; 
        map = new google.maps.Map(document.getElementById("map_canvas"), 
          mapOptions); 
    } 
    </script> 
<body onload="initialize()"> 
    <div id="map_canvas" style="width=80%; height: 100%"></div> 

및 마커/정보 창을 만들 :

**지도 캔버스를 초기화 할 수

<script type="text/javascript"> 
    var blueIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png"; 
    var redIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png"; 
    var greenIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png"; 
    infoWnd = new google.maps.InfoWindow(); 

    $(document).ready(function() { 
     $.ajax({ 
      url: 'http://localhost/testing/map_json.php', 
      dataType: 'json', 
      success: function (jsonData) { 
       $.each(jsonData, function(key, data) { 
        var latLng = new google.maps.LatLng(data.lat, data.lng); 
        // creating marker, putting it on map 

        // If no sensor reading data is present, RTU is assumed to be repeater node. 
        // Displayed in blue and Info Window only displays system voltage and time of reading. 
        if (data.R_1 === undefined) { 
          if (data.SysV >= 6.5) { 
           var marker = new google.maps.Marker({ 
            position: latLng, 
            title: data.RTU_Addr, 
            icon: blueIcon 
           }); 
           setInfoWindow(); 
          } 
          else { 
           var marker = new google.maps.Marker({ 
            position: latLng, 
            title: data.RTU_Addr, 
            icon: redIcon 
           }); 
           setInfoWindow(); 
          } 
         } 
         // If sensor data is present, RTU is assumed to be end unit. 
         // Displayed in red/green and Info Window displays all readings along with timestamp and voltage. 
         else { 
          if (data.SysV >= 6.5) { 
           var marker = new google.maps.Marker({ 
            position: latLng, 
            title: data.RTU_Addr, 
            icon: greenIcon 
           }); 
           setInfoWindow(); 
          } 
          else { 
           var marker = new google.maps.Marker({ 
            position: latLng, 
            title: data.RTU_Addr, 
            icon: redIcon 
           }); 
           setInfoWindow(); 
          } 

         } 
         marker.setMap(map); 

         function setInfoWindow() { 
          google.maps.event.addListener(marker, 'click', function() { 
           infoWnd.setContent("hi"); 
           InfoWnd.open(map, marker); 
          }); 
         }; 
        });  
       } 
      }); 
     }); 
    </script> 

내가 어디로 잘못 가고 있는지 알기!

답변

1

기능이 setInfoWindow()infoWnd 대신 오타가 InfoWnd입니다.

+0

와우. 나는 너를 충분히 오래 쳐다 본다. 그런 것들을 놓치기를. 감사! – lrich

관련 문제