在 angular-google-maps 中,绑定到多边形上的点击事件的正确方法是什么
In angular-google-maps, what's the right way to bind to click events on a polygon
我正在尝试使用 angular-google-maps 将函数绑定到 Google 地图中多边形上的点击事件。这是我定义多边形的方式:
<ui-gmap-google-map center='map.center' zoom='map.zoom'>
<ui-gmap-polygon static="true" ng-repeat="p in polygons track by p.id"
path="p.path" stroke="p.stroke" visible="p.visible"
fill="p.fill" clickable="true" events="p.events">
</ui-gmap-polygon>
</ui-gmap-google-map>
控制器中的代码如下:
$scope.map = { center: { latitude: 3, longitude: 49 }, zoom: 7 };
// preset polygons
$scope.polygons = [
{
id: 1,
path: [
{ latitude: 12, longitude: 50 },
{ latitude: 27, longitude: 54 },
{ latitude: 24, longitude: 45 },
],
stroke: { color: '#ff0000', weight: 2 },
visible: true,
fill: { color: '#ff0000', opacity: 0.3 },
events: { click: function() { console.log("clicked!"); }},
}
];
多边形看起来一切都很好,唯一的问题是我无法绑定点击事件。谁能帮我找出正确的方法?
非常感谢!
我最终发现我的问题实际上与移动设备(更具体地说是 Ionic)有关。点击和点击是有区别的。
找到这个解决方案:https://github.com/angular-ui/angular-google-maps/issues/428
效果很好。
我正在尝试使用 angular-google-maps 将函数绑定到 Google 地图中多边形上的点击事件。这是我定义多边形的方式:
<ui-gmap-google-map center='map.center' zoom='map.zoom'>
<ui-gmap-polygon static="true" ng-repeat="p in polygons track by p.id"
path="p.path" stroke="p.stroke" visible="p.visible"
fill="p.fill" clickable="true" events="p.events">
</ui-gmap-polygon>
</ui-gmap-google-map>
控制器中的代码如下:
$scope.map = { center: { latitude: 3, longitude: 49 }, zoom: 7 };
// preset polygons
$scope.polygons = [
{
id: 1,
path: [
{ latitude: 12, longitude: 50 },
{ latitude: 27, longitude: 54 },
{ latitude: 24, longitude: 45 },
],
stroke: { color: '#ff0000', weight: 2 },
visible: true,
fill: { color: '#ff0000', opacity: 0.3 },
events: { click: function() { console.log("clicked!"); }},
}
];
多边形看起来一切都很好,唯一的问题是我无法绑定点击事件。谁能帮我找出正确的方法?
非常感谢!
我最终发现我的问题实际上与移动设备(更具体地说是 Ionic)有关。点击和点击是有区别的。
找到这个解决方案:https://github.com/angular-ui/angular-google-maps/issues/428 效果很好。