我收到一个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);
在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的新手,但似乎我有一个问题(或者对我来说可能更糟 - 使用JavaScript本身),而不是使用Angular Google Maps,但我不确定。谢谢你的帮助。
[更新] 使用click="'onClick'"
代替click="onClick"
解决问题