Google Maps Проблема с IE8 и Firefox - PullRequest
1 голос
/ 28 мая 2011

У меня возникли некоторые проблемы с кодом ниже в IE8 и Firefox.

По некоторым причинам ошибки IE8 говорят:

Webpage error details

Message: 'null' is null or not an object
Line: 30
Char: 1472
Code: 0
URI: https://maps-api-ssl.google.com/intl/en_gb/mapfiles/api-3/5/4a/main.js

Это код, который я использую ....

<link href="https://code.google.com/apis/maps/documentation/javascript/examples/standard.css" rel="stylesheet" type="text/css" /> 
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 
  var geocoder;
  var map;
  function initialize() {
    geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(-0, 0);
    var myOptions = {
      zoom: 15,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
  }

  function codeAddress() {
    var address = 'ACTUAL ADDRESS GOES HERE';

    geocoder.geocode( { 'address': address}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {

        var latlng = new google.maps.LatLng(results[0].geometry.location);
        var myOptions = {
            zoom: 15,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        }

        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);  
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map, 
            position: results[0].geometry.location
        });
      } else {
        //alert("Geocode was not successful for the following reason: " + status);
      }
    });
  }
</script> 
<div id="map_canvas" style="height: 408px; width: 750px;"></div>  
<script> 
    initialize();
    codeAddress();
</script>

Кто-нибудь может мне помочь?Не уверен, почему это не работает в IE и Firefox!

1 Ответ

1 голос
/ 28 мая 2011

initialize() вызывает ошибку, поскольку холст карты является нулевым. Холст карты является нулевым, потому что getDocumentById не может найти map_canvas. getDocumentById не может найти map_canvas, потому что IE требует, чтобы <div> был внутри тега <body>.

Это исправило твой скрипт в IE для меня:

<body>
<div id="map_canvas" style="height: 408px; width: 750px;"></div>  
<script> 
    initialize();
    codeAddress();
</script>
</body>

Поэтому убедитесь, что ваш документ имеет правильный формат HTML с тегами <html>, <head> и <body>, расположенными надлежащим образом.

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