2017-02-13 3 views
1

ich für die Syntax Suche GoogleMap.OnInfoWindowClickListener mit meinem Ionic 2/Schräg 2 app zu implementieren. Ich möchte auf eine neue Seite umleiten, d. H. Eine neue Seite in den Stapel auf dem NavController schieben, wenn der Benutzer auf das Informationsfenster in Google Maps klickt.Implementieren GoogleMap.OnInfoWindowClickListener in Ionic 2

ich in der Lage gewesen, die Markierungen mit dem folgenden Code ein:

//Creates the event listener for clicking the marker and places the marker on the map 
    google.maps.event.addListener(marker, 'click', (function(marker, markerCount) {  
     return function() {   
     infowindow.setContent(htmlMarkupForInfoWindow); 
     infowindow.open(this.map, marker); 
     } 
    })(marker, this.markerCount)); 

Leider ruft die Funktion in dem Inhalt des Infofensters Verweis auf ‚diesen‘ verlieren, was zu Fehlern führt. Jede Hilfe wird geschätzt!

Antwort

0

Ändern Sie die inneren Funktionen, um zu verwenden, die Ihnen helfen, innerhalb der Funktion this verfügbar zu machen.

+0

Schätzen Sie den Tipp, aber dies geht nicht auf die ursprüngliche Frage. Ich bin auf der Suche nach einem Beispiel für die Implementierung von OnInfoWindowClickListener oder eines anderen Ereignisses, das im Infofenster ausgelöst wird. Der Code, den ich zitiert wurde zu zeigen, dass ich in der Lage war, in die Markierung Click-Ereignis zu binden, aber noch nicht den Erfolg hatte jemand die Erfassung auf dem Info-Fenster klicken, das sich öffnet. – smedcalf

1

Dies könnte klobig sein, aber es scheint zu funktionieren ... Posted die ganze Methode als Referenz. Der Großteil des Codes basiert auf einem Beispiel von Josh Morony (https://www.joshmorony.com/)

Dies ermöglicht es mir, eine Funktion lokal über den Speicherort der InfoWindow übergeben. Der Inhalt von infoWindow ist in ein div mit dem Klassennamen 'content' eingeschlossen.

Fühlen Sie sich frei zu kommentieren, wenn jemand einen einfacheren Weg hat.