2017-12-23 2 views
0

Hier ist mein Codeeine Winkelfunktion von Google Map API Infowindow Aufruf

addMarker(){ 
    var infowindow = new google.maps.InfoWindow({ 
     content: '<button (click)="showJob()">show job</button>' 
    }); 

    const myLatlng = new google.maps.LatLng(this.features[i].latitude, this.features[i].longitude); 
    const Marker = new google.maps.Marker({ 
     position: myLatlng, 
     icon: this.icons[this.features[i].type].icon, 
     map: this.map, 
     animation: google.maps.Animation.DROP, 
     title: this.features[i].title 
    }); 

    Marker.addListener('click', function() { 
     infowindow.open(this.map, Marker); 
    }); 

} 


showJob(){ 
    alert("showJobs"); 

} 

Ich möchte auf Infofenster auf klicken Show Job Taste showJob() Methode nennen, aber es funktioniert nicht.

+2

Was ist Ihr Fehler ist:

In diesem Szenario showJob Ereignis könnte zu Info-Fenster wie folgt gebunden werden? –

+0

Ich kann die Funktion showJob() nicht aufrufen –

+1

Wie kann ich nicht anrufen? Was geschieht? Gibt es einen Fehler in der Konsole? Passiert nichts? Explodiert Ihr Computer? –

Antwort

1

showJob Ereignis ist in Angular2 Komponente definiert, aber Infofenster HTML ist nicht Teil der Komponenten Vorlage, das ist der Grund, warum showJob konnte nicht ausgelöst werden.

google.maps.event.addListener(infowindow, 'domready',() => { 
    const el = document.querySelector('button'); 
    el.addEventListener('click', (event) => this.showJob(event)); 
}); 

Plunker

Verwandte Themen