我正在尝试管理InfoWindow
来自 Google Maps JavaScript API v3 的一组对象。我的数组被定义为全局的,所以我可以Infowindow
像这样管理所有对象:
正如肖恩所说,我编辑了代码以添加一些细节:
google.maps.event.addListener(markers[id], 'click', function() {
for ( var i = 0; i < infowindows.length; i++ ) {
var infoWin = infowindows[i];
if ( infoWin === undefined || infoWin === null ) {
continue;
}
infoWin.close();
}
map.panTo(markers[id].getPosition());
infowindows[id].open(map,markers[id]);
});
该.close()
功能没有做任何事情。我知道我正在以正确的方式访问对象,因为我可以调用.open()
并且它可以工作。有人对这个问题有想法吗?谢谢!
编辑(14 / 8 / 2012):这似乎是 CSS 的问题,所以当我用一些 JQuery 显示地图时,我设法通过强制显示样式来修复它:
$('#google-map').css("display", "block !important");
非常感谢您的友好回答!