我有一个infoWindow叠加层,我创建它以将div附加到谷歌地图类的父级。
现在我想在其他infoWindow打开时关闭它,我试过的是:
lastClicked: SebmGoogleMapInfoWindow;
if (this.lastClicked){
console.log(this.lastClicked);
this.lastClicked.close();
}
但是在这个讨论中HERE你看到它没有用,而是我提出了像这样的hacky解决方案:
$('.gm-style-iw').next('div').find('img').click();
但是当有其他人打开时,有没有办法关闭当前打开的infoWindow
这是PLUNKER
答案 0 :(得分:3)
您可以尝试这样的事情:
(markerClick)="updateDiv(location, infowindow)"
然后在updateDiv方法
中updateDiv(location: Location, infoWindow) { <== pass current infoWindow
...
if (this.lastClicked && this.lastClicked !== infoWindow){
this.lastClicked.close();
}
this.lastClicked = infoWindow; <== add this line
}
查看更新的plunkr https://plnkr.co/edit/QZLs74?p=preview