【问题标题】:'__e3_' is null or not an object - google maps'__e3_' 为空或不是对象 - 谷歌地图
【发布时间】:2011-11-29 12:54:27
【问题描述】:

消息:'_e3' 为空或不是对象 线路:19 字符:1068 代码:0 网址:http://maps.gstatic.com/intl/en_us/mapfiles/api-3/6/6/main.js

我真的对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>

【问题讨论】:

    标签: javascript google-maps


    【解决方案1】:

    如果你打开IE的开发者工具,切换到script标签,开始调试,那么当页面刷新出现错误时,开发者工具会显示一个调用栈,以你的调用为首,为拖动事件添加监听标记的属性,而被引用的__e3_ 是标记的属性,但您尚未创建标记。

    在创建marker 后,将addListener(marker ... 调用移至initialize() 函数内。

    【讨论】:

    • 谢谢!为我节省了很多调试时间
    猜你喜欢
    • 2014-02-12
    • 2020-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    相关资源
    最近更新 更多