Angular2隐藏infoWindow

时间:2016-05-27 15:00:01

标签: typescript angular

我正在使用此库:https://angular-maps.com/

现在我已准备好显示并隐藏标记和地图点击上的div。但我也希望在mapClicked执行时关闭信息窗口,这里是一个Plunker:LINK

mapClicked($event: MouseEvent) {
    this.isClicked = false;
 }

这一切准备就会触发布尔值为false,但是如果我在infowindow *ngIf="isClicked"上设置<sebm-google-map-info-window而不是打开它。

此处isClicked将设置为true:

<sebm-google-map-marker *ngFor="let location of locations" (markerClick)="updateDiv(location)">

这里是updateDiv函数:

 updateDiv(location: Location) {
    this.isClicked = true;
    this.selectedLocation = location;
}

2 个答案:

答案 0 :(得分:1)

您需要在info-window元素上调用open()

<sebm-google-map-info-window #infowindow
@ViewChild('infowindow') infoWindow;
  mapClicked($event: MouseEvent) {
        this.isClicked = false;
        this.infoWindow.open();
  }

Plunker example

答案 1 :(得分:0)

我找到了一个hacky解决方案!不是最好的,但它正在工作,我尝试用这样的jquery:

$('.gm-style-iw').next('div').find('img').click();

这将代表点击infowindow中的[x]