2011-10-02 46 views
0

消息: '_ E3' 爲空或不是對象 行:19 字符:1068 代碼:0 URI:http://maps.gstatic.com/intl/en_us/mapfiles/api-3/6/6/main.js'__e3_' 爲空或不是一個對象 - Google地圖

我真的沒有關於JavaScript的線索,這是別人的代碼,但沒有人知道它爲什麼會導致上述錯誤在Internet Explorer?

<!DOCTYPE html> 
    <html> 
    <head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
    <title>Google Maps JavaScript API v3 Example: Marker Animations</title> 
    <link href="http://code.google.com/apis/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" /> 
    <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
    <script type="text/javascript"> 
     var stockholm = new google.maps.LatLng(59.32522, 18.07002); 
     var parliament = new google.maps.LatLng(59.327383, 18.06747); 
     var marker; 
     var map; 

     google.maps.event.addListener(marker, 'drag', function(event){ 
      document.getElementById("latbox").value = event.latLng.lat(); 
      document.getElementById("lngbox").value = event.latLng.lng(); 
    }); 

     function initialize() { 
     var mapOptions = { 
      zoom: 13, 
      mapTypeId: google.maps.MapTypeId.ROADMAP, 
      center: stockholm 
     }; 

     map = new google.maps.Map(document.getElementById("map_canvas"), 
       mapOptions); 


     marker = new google.maps.Marker({ 
      map:map, 
      draggable:true, 
      animation: google.maps.Animation.DROP, 
      position: parliament 
     }); 
     google.maps.event.addListener(marker, 'drag', toggleBounce); 

     } 

     function toggleBounce() { 

     if (marker.getAnimation() != null) { 
      marker.setAnimation(null); 
     } else { 
      marker.setAnimation(google.maps.Animation.BOUNCE); 
      document.getElementById("latbox").value=marker.getPosition().lat(); 
      document.getElementById("lngbox").value=marker.getPosition().lng(); 
     } 
     } 
    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width: 500px; height: 400px;">map div</div> 
    Lat:<input type="text" id="latbox" name="latbox" style="width:100px;" > 
    <br> 
    Long:<input type="text" id="lngbox" name="lngbox" style="width:100px;" > 
    </body> 
    </html> 

回答

3

如果你打開IE瀏覽器的開發者工具,切換到腳本標籤,並開始調試,那麼當頁面刷新和錯誤發生時,開發者工具會顯示您的通話添加偵聽器爲首的調用堆棧到標記的拖動事件,並且被引用的__e3_是標記的屬性,但是您尚未創建標記。

在創建之後,將addListener(marker ...呼叫移動到initialize()函數中。

+0

謝謝!爲我節省了很多調試時間 –