3

マーカーのデータ ソースとして JSON オブジェクトを受け取ります。その後、各マーカーのクリック/クローズ関数をバインドしています

プランク: http://plnkr.co/edit/A9IbIFpj3d9tH6z9NYjf?p=preview

    angular.forEach(tmp, function(value, key){
        
        value.onClick = function(){
            console.log("Clicked!");
            $scope.selected.show = false;
            $scope.selected = value;
            $scope.selected.show = !$scope.selected.show;
            $scope.$apply();
                            
        };
        value.CloseClick = function() {
            $scope.selected.show = false;
            console.log("CloseClicked");
            $scope.$apply();
        };
        this.push(value);
    }, $scope.markers);

次に、 Angular Google Mapsを使用してGoogleマップにマーカーを描画します

            <ui-gmap-google-map center='map.center' zoom='map.zoom'>
                <ui-gmap-markers models="markers" fit="true" coords="'self'" click="onClick">
                </ui-gmap-markers>
                <ui-gmap-window coords="selected" show="selected.show" closeClick="closeClick"><div>aga</div></ui-gmap-window>                      
            </ui-gmap-google-map> 

しかし、マーカーをクリックすると、関数 onClick がトリガーされません。私はAngular.jsは初めてですが、Angular Googleマップではなく、問題があるようです(または、JavaScript自体に問題がある可能性があります)が、よくわかりません。助けてくれてありがとう。

[UPDATE]click="'onClick'"代わりに使用することで問題が解決しましたclick="onClick"

4

1 に答える 1