从他们的文档https://developers.google.com/maps/documentation/javascript/events,
用户事件(例如“点击”鼠标事件)从 DOM 传播到 Google Maps API。这些事件与标准 DOM 事件是分开且不同的。
据我了解,只有谷歌地图事件可以应用于谷歌地图对象,包括标记、形状等。
那是个坏消息。
好消息是您仍然可以使用on-click
事件来操作$scope
变量和事件。只要您为此事件使用函数,就没有太大区别。
我会继续调查是否有解决方法,以便我们可以使用 AngularJS 事件进入(即 ngMouseenger、ngMouseleave.ngMouseup、ngClick 等
plunkr 上有一个使用 on-click 的工作示例来满足您的要求。
http://plnkr.co/edit/6qvS0vUYkqVHZ3t6qmn2?p=preview
这是脚本部分
$scope.myVar = 1;
$scope.changeMyVar = function(event) {
$scope.myVar+=1;
$scope.$apply();
}
这是html部分
<map zoom="11" center="[40.74, -74.18]">
<marker ng-repeat="p in positions"
position="{{p}}" title="{{p.toString()}}"
on-click="changeMyVar()">
</marker>
</map>
myVar : {{myVar}} Click a marker to increase myVar
要了解有关 angularjs-google-maps 事件的更多信息,请查看有关事件的示例