我正在使用此库: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;
}
答案 0 :(得分:1)
您需要在info-window元素上调用open()
。
<sebm-google-map-info-window #infowindow
@ViewChild('infowindow') infoWindow;
mapClicked($event: MouseEvent) {
this.isClicked = false;
this.infoWindow.open();
}
答案 1 :(得分:0)
我找到了一个hacky解决方案!不是最好的,但它正在工作,我尝试用这样的jquery:
$('.gm-style-iw').next('div').find('img').click();
这将代表点击infowindow中的[x]