该代码在 Firefox 中工作正常,但在 IE8 中不行。我收到错误:“地址”为空或不是对象。
已经在谷歌上搜索了好几天,但无法获得有关如何修复/调试此问题的明确答案。希望 stackoverflow.com 能够提供帮助。
var latlng = [
{
address: new GLatLng(-6.1364941,106.8000411),
marker0: myIcon0
},
{
address: new GLatLng(-6.1364941,106.8000411),
marker0: myIcon0
},
{
address: new GLatLng(1.3520831,103.8198361),
marker0: myIcon0
},
{
address: new GLatLng(14.06666671,121.33333331),
marker0: myIcon
},
];
var markers = [];
for ( var i = 0; i < latlng.length; i++ )
{
var marker = new GMarker( latlng[ i ].address, latlng[ i ].marker0 );
map.addOverlay( marker );
markers[i] = marker;
}
$(markers).each(function(i,marker){
GEvent.addListener(marker,"click", function(){
// map.panTo(marker.getLatLng());
map.setCenter(marker.getLatLng(), 10);
marker.openInfoWindowHtml($('.view-display-id-attachment_1 .views-row-'+(i+1)).html(), {maxWidth:200});
});
$("<li />")
.html($('.view-display-id-attachment_1 .views-row-'+(i+1)).html())
.click(function(){
map.setCenter(marker.getLatLng(), 10);
marker.openInfoWindowHtml($('.view-display-id-attachment_1 .views-row-'+(i+1)).html(), {maxWidth:200}); // custom balloon text
// alert($('.view-display-id-attachment_1 .views-row-'+(i+1)).html()); // VIEWS ROW COUNT DEBUG
})
.appendTo("#wtb-list");
});
最佳答案
问题在这里:
marker0: myIcon
}, //<-- here!
];
数组声明末尾的尾随逗号会给 IE8 带来问题,请将其删除:)其他浏览器...“忽略?”在大多数情况下,IE 总是会出错。
关于javascript - 'var' 为 null 或不是对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3880495/