在 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 效果很好。