Google maps 使Shadowbox.js在多个InfoWindow中工作

Google maps 使Shadowbox.js在多个InfoWindow中工作,google-maps,infowindow,shadowbox,Google Maps,Infowindow,Shadowbox,我尝试在多个内部使用: 函数初始化(){ //创建地图 var map=newgoogle.maps.map(…); //创建标记 var marker=newgoogle.maps.marker(…); var marker2=新的google.maps.Marker(…); //创建信息窗口 var infoWindow=new google.maps.infoWindow(); //将标记链接到信息窗口 google.maps.event.addListener(标记'click',函数(

我尝试在多个内部使用:

函数初始化(){
//创建地图
var map=newgoogle.maps.map(…);
//创建标记
var marker=newgoogle.maps.marker(…);
var marker2=新的google.maps.Marker(…);
//创建信息窗口
var infoWindow=new google.maps.infoWindow();
//将标记链接到信息窗口
google.maps.event.addListener(标记'click',函数(){
infoWindow.setContent(“”);
信息窗口。打开(地图、标记);
});
google.maps.event.addListener(marker2,'click',function(){
infoWindow.setContent(“”);
打开(地图,标记2);
});
//启用阴影盒
google.maps.event.addListener(infoWindow,'domready',function(){
Shadowbox.init({
产能过剩:0.8
});
}); 
}
google.maps.event.addDomListener(窗口“加载”,初始化);
正如您所看到的,我已经成功地使其工作,但仅限于第一个
InfoWindow

这似乎是由我的事件附件引起的,我正在使用
domready

google.maps.event.addListener(infoWindow, 'domready', function() {});
我找不到其他方法为每个
InfoWindow
都“重新设置”阴影框


有什么建议吗?

像往常一样,我在写下问题几分钟后就找到了我正在寻找的解决方案……
要在每个
InfoWindow
上运行
Shadowbox
您需要手动调用Shadowbox player

使用自定义类而不是
rel=shadowbox

<a href="http://placehold.it/200x200.jpg" class="dyn-shadowbox">
    Shadowbox link
</a>

google.maps.event.addListener(infoWindow, 'domready', function() { 
    var dynlinks = document.getElementsByClassName('dyn-shadowbox');
    var n = dynlinks.length;
    for (var i = 0; i < n; i++) {
       var link = dynlinks[i];
       link.removeEventListener('click');
       link.addEventListener('click', function(ev) {
           ev.preventDefault();
           Shadowbox.open({
               link:    link,
               content: link.getAttribute('href'),
               player:  'img',
               title:   ''
           });
       });
    }
});