2017-04-04 2 views
0
 for (let i of this.latlong) { 
      this.customWindow = '<div ng-click="mapSearchController.getRestaurantBranchPage(' + i.restaurantId + ')"><img width="150" height="150" src="client/' + i.restaurantImg + '"/>' + '<b>' + i.restaurantTagline + '</b></div>'; 
      let customWindow = this.customWindow; 
      let marker = []; 
      marker = new google.maps.Marker({ 
       map: this.map, 
       position: new google.maps.LatLng(i.latitude, i.longitude) 
      }); 
      marker.setAnimation(google.maps.Animation.BOUNCE); 
      //let marker = this.marker; 
      setTimeout(function() { 
       marker.setAnimation(null); 
      }, 1500); 
      //marker.content = '<div class="infoWindowContent">' + i.restaurantName + '</div>'; 
      google.maps.event.addListener(marker, 'click', (function(marker, i) { 
       return function() { 
        restoInfoWindow.setContent(customWindow); 
        restoInfoWindow.open(this.map, marker); 
       } 
      })(marker, i)); 
      this.markers.push(marker); 
     } 

die alle Infofenster Belastung Markierung klicken, aber die weiteren ng Klick funktioniert nicht auf Klick ng auf die gewünschte AngularJS Funktion in der Richtlinie doesnt getroffen.
Ich habe versucht, beide span und div, aber das Problem bleibt gleich und immer noch kein Anruf. Dank im Vorausng Klicken Sie nicht auf Infofenster Karten Marker Arbeits

Antwort

0

Statt nur

this.customWindow = '<div ng-click="mapSearchController.....'; 

Sie benötigen Service $ kompilieren verwenden.

$compile('<div ng-click="mapSearchController.....')($scope); 

$ Umfang sollte ein Rahmen von mapSearchController

Nur Ihr ng-Klick richtig funktioniert in diesem Fall sein.

+0

eigentlich ich benutze angularjs + flux-Direktive und kann nicht $ kompilieren sowie $ scope darin verwenden ... –

+0

können Sie https://jsfiddle.net Beispiel erstellen? Es hilft dir zu verstehen, was du tatsächlich hast? –

Verwandte Themen