'__e3_' - ноль или не объект - Google Maps - PullRequest
0 голосов
/ 02 октября 2011

Сообщение: '_ e3 ' является нулем или не является объектом Строка: 19 Char: 1068 Код: 0 URI: 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>

1 Ответ

3 голосов
/ 03 октября 2011

Если вы откроете инструменты разработчика IE, перейдете на тег script и начнете отладку, то при обновлении страницы и возникновении ошибки инструменты разработчика покажут стек вызовов во главе с вашим вызовом, чтобы добавить слушателя к событию перетаскивания. маркера, и ссылка __e3_ является свойством маркера, но вы не создали маркер.

Переместите вызов addListener(marker ... в функцию initialize() после того, как вы создали marker.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...