我正在尝试使用Angular Google Maps模块在Google地图上显示多边形,但是当修改模型的visible属性时,uiGmapPolygons指令不会隐藏/显示。
这是一个说明问题的傻瓜: 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>
Angular Code:
$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;
};
我希望当我改变多边形显示/隐藏的可见属性时。
我不确定我是否发现了错误,或者我是否试图错误地调整多边形的可见性。
修改
我几天前在模块的github repo上提交了一个问题,昨晚得到的回复解决了2.0.11版本中的问题。不幸的是,我使用的是版本2.0.12。
链接到围绕该问题的github讨论:
https://github.com/angular-ui/angular-google-maps/issues/1059
答案 0 :(得分:0)
在您的控制器中
$scope.showPolygon = false;
$scope.toggelPolygon = function(){$scope.showPolygon=!$scope.showPolygon};
在你的ui-gmap-polygon .....中
visible='showPolygon'
答案 1 :(得分:0)
贡献者nmccready在1月份修复了这个问题,但那时我已经放弃了角度谷歌地图。