在绘图管理器中显示/隐藏所有图形绘图
Show/hide all figures drawing in drawingManager
我的项目与GPS和跟踪系统有关。我使用drawingManager在谷歌地图api v3上绘制地理围栏。我需要一个按钮,单击该按钮将显示/隐藏所有绘图管理器图形。在我的项目中,我也使用angularJS。我有 2 个不同的指令。在 1-st 中,我声明图纸管理器
var polyOption = {
fillColor: '#ffff00',
fillOpacity: 0.4,
strokeWeight: 1,
clickable: true,
editable: true,
zIndex: 1
};
drawingManager = new google.maps.drawing.DrawingManager({
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.BOTTOM_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.MARKER,
google.maps.drawing.OverlayType.CIRCLE,
google.maps.drawing.OverlayType.POLYGON,
google.maps.drawing.OverlayType.POLYLINE,
google.maps.drawing.OverlayType.RECTANGLE
]
},
circleOptions: polyOption,
rectangleOptions: polyOption,
polygonOptions: polyOption,
polylineOptions: polyOption,
});
scope.geozonesConfig.tempDrawManagerVar = true;
scope.geozonesConfig.tempDrawManagerHide = false;
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e) {
if (e.type != google.maps.drawing.OverlayType.MARKER) {
// Switch back to non-drawing mode after drawing a shape.
drawingManager.setDrawingMode(null);
// To hide:
// Add an event listener that selects the newly-drawn shape when the user
// mouses down on it.
var newShape = e.overlay;
newShape.type = e.type;
google.maps.event.addListener(newShape, 'click', function() {
setSelection(newShape);
scope.$apply (function () {
scope.geozonesConfig.showGeozoneConfig = true;
});
});
setSelection(newShape);
});
google.maps.event.addListener(drawingManager, 'drawingmode_changed', clearSelection);
google.maps.event.addListener(map, 'click', clearSelection);
google.maps.event.addDomListener(document.getElementById('delete-button'), 'click', deleteSelectedShape);
buildColorPalette();
有我的按钮。我用了ng-click:
<a href="javascript:void(0)" title="{{ 'Add geozone' | translate }}" ng-click="onGeozoneClick()"><i class="icon-globe"></i></a>
'我的函数位于另一个指令中:
scope.onGeozoneClick = function () {
alert('Show/Hide all figures');
};
如何显示/隐藏这些图纸经理图形?谢谢。
编辑:从OP的回复更新为答案
如何在 js 中做到这一点?我不知道如何参考我的数字。据我所知,谷歌地图 API 中没有任何方法可以处理这些数字。现在我尝试使用数字选项的可见属性来做到这一点: var anchorShowHideFigure = true; var polyOption = {visible = anchorShowHideFigure };
然后我想在单击按钮后将标志更改为 false。如果我在我的 1-st 指令中写: function showHideDrawingFigures () { anchorShowHideFigure = false; };
在控制台中,我得到:"显示隐藏绘图数字未定义"。如果我将其写入 2-nd 指令,我会得到:"anchorShowHideFigure is not definied",我得到这个,因为我的 html 文件使用 2-nd 指令。对不起,如果我解释得很复杂——
为此查看ng-show和ng-hide指令。
创建一个标志说显示数字,在$scope。用于切换荧光
$scope.onGeozoneClick = function () {
$scope.showFigures = false;
};
在 HTML 中,
<div ng-show="showFigures"></div>
相关文章:
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- HTML画布在绘图后立即擦除矩形
- 如何在JS Leatflet绘图插件中获取圆的坐标
- 在一个页面中具有多个捕捉绘图和捕捉内容
- SVG手写字母绘图动画
- 绘图悬停文本未显示
- 为画布绘图添加鼠标事件
- 如何强制绘图将x轴编号显示为类别
- 绘图应用程序-单击工具更改光标
- 重置transform:rotate(),方法是移除并追加在追加和重绘图表后未显示数据的画布
- Highcharts多个Y轴绘图带碰撞
- 如何使用画布和javascript使绘图移动
- highcharts IE8重绘图表问题
- OpenOffice绘图:增强的几何图形解析
- 如果谷歌地图绘图(如onDraw)触发什么事件
- Fabricjs在绘图时连接线条
- 高图表可拖动的绘图线与对数轴刻度
- 如何使用 THREE.js/WebGL 将 2D 绘图转换为 3Drawing
- 如何删除leaflet.draw中的绘图层
- 如何以绘图表格式输出PHP结果