Wenn ich agm-info-window
bin, können Sie rufen zum Öffnen/Schließen programmatisch von der SteuerungWie öffnet/schließt man ein Snazzy-Info-Fenster programmatisch in angular-google-maps?
Vorlage:
<agm-data-layer [geoJson]="geoJsonObject" [style]="styleFunc" (layerClick)="clicked($event, gm, infoWindow)" >
<agm-info-window [disableAutoPan]="true"
[latitude]="infoWindowLat"
[longitude] = "infoWindowLong"
[isOpen]="infoWindowIsOpen"]
#infoWindow>
{{infoWindowText}}
</agm-info-window>
</agm-data-layer>
Controller:
clicked(clickEvent, gm, infoWindow) {
if (gm.lastOpen != null)
{
gm.lastOpen.close();
}
gm.lastOpen = infoWindow;
infoWindow.open();
}
Aber wenn ich <agm-snazzy-info-window>
verwenden , open()
und close()
sind nicht definiert.
<agm-snazzy-info-window [isOpen]="infoWindowIsOpen"
[latitude]="infoWindowLat"
[longitude]="infoWindowLong"
[closeWhenOthersOpen]="true"
[closeOnMapClick]="true"
[showCloseButton]="false"
[openOnMarkerClick]="true"
([backgroundColor]="'#FFF'"
#infoWindow>
<ng-template>
{{infoWindowText}}
</ng-template>
</agm-snazzy-info-window>
Wie kann ich einen <agm-snazzy-info-window>
vom Controller öffnen/schließen?
Danke, ich habe so etwas wie dies versucht, aber es hat nicht funktioniert. geklickt (clickEvent, infoWindow) { this.infoWindowText = clickEvent.feature.getProperty ('description'); var position = clickEvent.feature.getGeometry(); this.infoWindowLat = position.b.lat(); this.infoWindowLong = position.b.lng(); this.infoWindowIsOpen = true } – Cristina
@Cristina, könnten Sie einen Plunder teilen, funktioniert der angegebene Ansatz für mich? –
Ich weiß nicht, wie man mit @ agm/core einen Plunder startet. Ich habe dieses ein gestartet..https: //plnr.co/edit/IsLgeK50q3UpsVcd43DR? P = Vorschau Danke – Cristina