Ошибка в IE8 при использовании Google Maps "неопределенный - это ноль или не объект" - PullRequest
0 голосов
/ 13 июня 2011

Я создал образец здесь, чтобы показать проблему ....

http://bit.ly/j2nb1k

Код js, поэтому вы можете увидеть его полностью. В любом современном браузере, включая IE9, он работает нормально. Но я получаю раздражающее «undefined - это ноль или не объект», если вы загрузите его в IE8 или ниже.

Что мне здесь не хватает?

Источник ниже ...

var map;
  function initialize() {

    var latlng = new google.maps.LatLng(51, -1);
    var myOptions = {
      zoom: 2,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"),
        myOptions);

   vaacinit();
  }

function vaacinit() {  
  var FL150 = [new google.maps.LatLng(-43.568055555556,75.833333333333),
new google.maps.LatLng(-59.384722222222,74.734722222222),
new google.maps.LatLng(-64.668055555556,88.25),
new google.maps.LatLng(-65.901388888889,133.58472222222),
new google.maps.LatLng(-59.35,131.23333333333),
new google.maps.LatLng(-55.918055555556,92.368055555556),
new google.maps.LatLng(-43.568055555556,75.833333333333),
];drawPoly(FL150,'#848484');
var FL200 = [new google.maps.LatLng(-54.7,90.533333333333),
new google.maps.LatLng(-60,158.23472222222),
new google.maps.LatLng(-59.333333333333,160.00138888889),
new google.maps.LatLng(-34.684722222222,160.58472222222),
new google.maps.LatLng(-40.5,150.5),
new google.maps.LatLng(-40.518055555556,145.86805555556),
new google.maps.LatLng(-38.2,144.7),
new google.maps.LatLng(-37,139.35),
new google.maps.LatLng(-35.85,129.33333333333),
new google.maps.LatLng(-39.333333333333,117.03472222222),
new google.maps.LatLng(-38.233333333333,110.06666666667),
new google.maps.LatLng(-29.418055555556,104.73333333333),
new google.maps.LatLng(-30.551388888889,90.501388888889),
new google.maps.LatLng(-54.7,90.533333333333),
];drawPoly(FL200,'#848484');
var well = [new google.maps.LatLng(-34.666666666667,160),
new google.maps.LatLng(-34.666666666667,172.38333333333),
new google.maps.LatLng(-40.568055555556,-160),
new google.maps.LatLng(-50.518055555556,-140.56805555556),
new google.maps.LatLng(-61.216666666667,-119.35138888889),
new google.maps.LatLng(-71.166666666667,-128.23472222222),
new google.maps.LatLng(-70.55,-150),
new google.maps.LatLng(-52.401388888889,-177.01805555556),
new google.maps.LatLng(-59.333333333333,160),
new google.maps.LatLng(-34.666666666667,160),
];drawPoly(well,'#848484');   





 }


function drawPoly(polyCoords,passedColor){

 var thisPoly;
 var thisPolyCoords = polyCoords;

 thisPoly = new google.maps.Polygon({
    paths: thisPolyCoords,
    strokeColor: passedColor,
    strokeOpacity: 0.8,
    strokeWeight: 2,
    fillColor: passedColor,
    fillOpacity: 0.35
  });

  thisPoly.setMap(this.map);

 }

1 Ответ

1 голос
/ 13 июня 2011

Ваши массивы заканчиваются запятыми - это недопустимо и будет сбрасывать версии IE

Например, сравните:

var notValidArray = [1,2,3,];

против

var validArray = [1,2,3];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...