2017-10-03 5 views
2

Ich benutze Angular Google Maps(AGM) componet. Ich muss Info-Fenster auf Marker Maus Hover öffnen. Wie kann ich die infowindow Instanz in meiner Funktion onMouseOver öffnen, um es zu öffnen?agm-marker onMouseOver geöffnet agm-info-fenster

<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? 
    } 

Antwort

1

Am Ende fand ich eine Lösung:

<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(); 
    } 
+0

Hallo Pizzoni. Ich möchte das agm-snazzy-info-Fenster auf MapLoad an einem bestimmten Ort öffnen. (ohne MapCLick) Ich benutze Angular 4. Können Sie mir bitte helfen? – user2256404

+0

@Pizzoni Alessio Ich bekomme den Fehler, dass infoWindow nicht .Open() -Funktion hat – John