我正在使用 Google Maps API v3,但 IE8,9 出现问题。请注意,在其他浏览器中它可以完美运行,没有错误(在页面或控制台上)。
jQuery(document).ready(function () {
var target = jQuery('.google-map'),
desiredheight = target.parent().siblings('div').height();
target.height(desiredheight);
});
jQuery(document).ready(function () {
var target = jQuery('.google-map'),
myLatlng, myOptions, map, infowindow, marker, mapStyle, styledMap;
if (target.length > 0) {
myLatlng = new google.maps.LatLng(target.attr('data-latitude'), target.attr('data-longitude'));
myOptions = {
zoom: parseInt(target.attr('data-zoom'), 10) || 6,
center: myLatlng,
html: target.attr('data-title'),
mapTypeControl: false,
popup: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(target[0], myOptions);
mapStyle = [{
stylers: [{
saturation: -100
}]
}, {
featureType: 'road',
elementType: 'geometry',
stylers: [{
lightness: 100
}, {
visibility: 'simplified'
}]
}, {
featureType: 'road',
elementType: 'labels',
stylers: [{
visibility: 'off'
}]
}];
if (mapStyle) {
styledMap = new google.maps.StyledMapType(mapStyle, {
name: 'InspireThemes'
});
map.mapTypes.set('map_style', styledMap);
map.setMapTypeId('map_style');
}
infowindow = new google.maps.InfoWindow({
content: target.attr('data-content')
});
marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: target.attr('data-title')
});
google.maps.event.addListener(marker, 'click', function () {
infowindow.open(map, marker);
});
}
});
我在第 72 行收到错误报告,这将是:
myLatlng = new google.maps.LatLng( target.attr( 'data-latitude' ), target.attr( 'data-longitude' ) );
现在,我当然尝试了谷歌,所有问题都是由数组或对象末尾的额外逗号引起的,这在 IE 中当然不起作用。但即使我的问题确实有这样的症状,我也无法弄清楚我会在哪里有额外的逗号。
我尝试了各种 js 工具,但没有帮助。