不尊重可见属性的多边形指令

Polygons directive not respecting the visible property

我正在尝试使用 Angular Google Maps 模块在 google 地图上显示多边形,但是当模型的可见属性被修改时,uiGmapPolygons 指令不是 hiding/showing。

这里有一个 plunker 来说明这个问题: http://plnkr.co/edit/EhFihJRBK9Lb0s3mwMSl

标记:

<ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" options="options" bounds="map.bounds">
    <ui-gmap-polygons models="polygons" path="'path'" stroke="'stroke'" visible="'visible'" fill="{ color: '#2c8aa7', opacity: '0.3' }">
    </ui-gmap-polygons>
     <ui-gmap-markers models="markers" idKey="'id'" options="'options'" coords="'coords'"></ui-gmap-markers>        
</ui-gmap-google-map>

角度代码:

$scope.polygons = [{
  id: 1,
  path: [{
    latitude: 50,
    longitude: -80
  }, {
    latitude: 30,
    longitude: -120
  }, {
    latitude: 20,
    longitude: -95
  }],
  stroke: {
    color: '#6060FB',
    weight: 3
  },
  editable: true,
  draggable: true,
  geodesic: false,
  visible: true,
  fill: {
    color: '#ff0000',
    opacity: 0.8
  }
}];

$scope.toggle = function() {
  $scope.polygons[0].visible = !$scope.polygons[0].visible;
  $scope.markers[0].options.visible = !$scope.markers[0].options.visible;
};

我希望当我更改多边形的可见属性时 show/hide。

我不确定我是否发现了错误,或者我是否在尝试错误地调整多边形的可见性。

编辑:

几天前我在模块的 github 回购协议中提交了一个问题,昨晚得到的回复解决了版本 2.0.11 中的问题。不幸的是,我使用的是 2.0.12 版本。

指向围绕该问题的 github 讨论的链接:

https://github.com/angular-ui/angular-google-maps/issues/1059

在你的控制器中

$scope.showPolygon = false;
$scope.toggelPolygon = function(){$scope.showPolygon=!$scope.showPolygon};

在你的ui-gmap-polygon .....

visible='showPolygon'

贡献者 nmccready 在一月份修复了这个问题,但那时我已经放弃了 angular-google-maps.