当鼠标单击角度为7的信息窗口时,关闭agm-info-窗口

问题描述 投票:0回答:1

[我正在使用angular-google-map。当单击标记时,信息窗口将打开并在单击其他标记时隐藏previos窗口。现在,我想在鼠标单击地图时关闭信息窗口。

 <agm-map [latitude]="lat" [longitude]="lng" [zoom]="zoom" [styles]="styles" [disableDefaultUI]="false" [zoomControl]="true"
[scrollwheel]="false" [streetViewControl]="false" [fitBounds]="false" (zoomChange)="onagmZoomChange($event)">


     <agm-marker *ngFor="let c of markers; let i = index" (markerClick)="clickedMarker(infowindow, i)" [latitude]="c.location_details_lat"
  [longitude]="c.location_details_lon" [iconUrl]="m.icon">
           <agm-info-window #infowindow [maxWidth]="320" >
                <div class="info-header">
                     <h2>add: {{ c.add }}</h2>
                </div>
           </agm-info-window>
           </agm-marker>
   </agm-map>
angular7 angular-google-maps
1个回答
0
投票

[在AgmMap上为mapClick事件添加处理程序,该处理程序检查您是否有打开的信息窗口,如果有,请关闭它。由于您已经实现了只打开一个信息窗口的处理程序,因此您可能有一个变量包含打开的窗口,例如:

private singleInfoWindow: AgmInfoWindow = null;

您的AgmMap mapClick事件处理程序可以关闭该infoWindow:

if (this.singleInfoWindow) {
    this.singleInfoWindow.close();
    this.singleInfoWindow = null;
}
© www.soinside.com 2019 - 2024. All rights reserved.