agm-marker onMouseOver open agm-info-window

匿名 (未验证) 提交于 2019-12-03 08:46:08

问题:

I using Angular Google Maps(AGM) componet. I need to open info window on marker mouse hover. How can I retreive the infowindow instance in my function onMouseOver to open it?

<agm-map [fitBounds]="latlngBounds" [zoom]="15">     <agm-marker *ngFor="let m of markers; let i = index"                 [latitude]="m.geoCode.latitude"                 [longitude]="m.geoCode.longitude"                 (mouseOver)="onMouseOver(m)"                 >          <agm-info-window [disableAutoPan]="false">              <div>                 <a (click)="onClickInfoView({id:m.id})" class="btn btn-attention pull-right">test<i class="fa fa-angle-double-right"></i></a>             </div>          </agm-info-window>       </agm-marker>  </agm-map>    onMouseOver(data) {         ???? /* how to open here the info window?     } 

回答1:

At the end I found a solution:

<agm-map #gm [fitBounds]="latlngBounds" [zoom]="15">     <agm-marker *ngFor="let m of markers; let i = index"                 [latitude]="m.geoCode.latitude"                 [longitude]="m.geoCode.longitude"                 (mouseOver)="onMouseOver(infoWindow,gm)"                 >          <agm-info-window [disableAutoPan]="false" #infoWindow>              <div>                 {{m.name}}                 {{m.rating}}             </div>             <div>                 <a (click)="onClickInfoView({id:m.id})" class="btn btn-attention pull-right">Daje <i class="fa fa-angle-double-right"></i></a>             </div>          </agm-info-window>       </agm-marker>  </agm-map>   onMouseOver(infoWindow, gm) {          if (gm.lastOpen != null) {             gm.lastOpen.close();         }          gm.lastOpen = infoWindow;          infoWindow.open();     } 


回答2:

In my case, onMouseover() only worked if I set it to

onMouseOver(infoWindow, gm) {    if (gm.lastOpen && gm.lastOpen.isOpen) {     gm.lastOpen.close();   }    gm.lastOpen = infoWindow;    infoWindow.open(); } 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!