From bc783367ccbff3f1cea645781e3fcc26cb4a0972 Mon Sep 17 00:00:00 2001
From: 李红刚 <p-honggang.li@pcitc.com>
Date: 星期三, 17 三月 2021 14:43:25 +0800
Subject: [PATCH] 修改标绘绘制圆出现中心点BUG及同时清除多个图层
---
src/components/panel/ToolBoxPanel.vue | 70 ++++++++++++++++++----------------
1 files changed, 37 insertions(+), 33 deletions(-)
diff --git a/src/components/panel/ToolBoxPanel.vue b/src/components/panel/ToolBoxPanel.vue
index 9f89a0c..fe2c8b9 100644
--- a/src/components/panel/ToolBoxPanel.vue
+++ b/src/components/panel/ToolBoxPanel.vue
@@ -1,11 +1,11 @@
<template>
<div class="left-top-toolbox-panel">
<div class="specific-tools">
- <el-button @click="changeSelect" v-show="selectGroup">
+ <el-button class="el-button-choice" @click="changeSelect" v-show="selectGroup">
<img src="@assets/images/map-pages/icon/toolbox/tool.png" alt="">
<span>宸ュ叿</span>
</el-button>
- <el-button @click="changeSelect" v-show="!selectGroup">
+ <el-button class="el-button-choice" @click="changeSelect" v-show="!selectGroup">
<img src="@assets/images/map-pages/icon/toolbox/Selecd/tool.png" alt="">
<a>宸ュ叿</a>
</el-button>
@@ -40,7 +40,7 @@
</div>
</el-popover>
<el-button @click="changeSelect" class="special-button">
- <i :class="selectGroup === false ? 'el-icon-d-arrow-right':'el-icon-d-arrow-left'"></i>
+ <i class="el-icon-d-arrow-left"></i>
</el-button>
</el-row>
</transition>
@@ -242,8 +242,9 @@
],
selectGroup: false,
drawLayer: null,
+ drawLayerArray: [],
map: null,
- L: window.L,
+ // L: window.L,
active: -1,
Selecd: -1
}
@@ -284,12 +285,8 @@
},
changeChoose (index) {
this.active = index
- if (this.drawLayer == null) {
- this.drawLayer = this.L.layerGroup().addTo(this.map)
- }
},
choiceItem (itemT, indexT) {
- // console.log(itemT.label)
this.Selecd = indexT
switch (itemT.label) {
case '鐐规爣缁�':
@@ -299,33 +296,34 @@
iconAnchor: [13, 16],
popupAnchor: [26, -32]
})
- var drawLayer = this.map.editTools.startMarker()
- drawLayer.setIcon(myIcon)
- this.drawLayer.addLayer(drawLayer)
- this.setLogic(drawLayer)
+ this.drawLayer = this.map.editTools.startMarker()
+ this.drawLayer.setIcon(myIcon)
+ this.drawLayerArray.push(this.drawLayer)
break
case '绾挎爣缁�':
- var drawLayerLine = this.map.editTools.startPolyline()
- this.drawLayer.addLayer(drawLayerLine)
- this.setLogic(drawLayerLine)
+ this.drawLayer = this.map.editTools.startPolyline()
+ this.drawLayerArray.push(this.drawLayer)
+ this.setLogic()
break
case '澶氳竟褰�':
- var drawLayerPolygonD = this.map.editTools.startPolygon()
- this.drawLayer.addLayer(drawLayerPolygonD)
- this.setLogic(drawLayerPolygonD)
+ this.drawLayer = this.map.editTools.startPolygon()
+ this.drawLayerArray.push(this.drawLayer)
+ this.setLogic()
break
case '鐭╁舰':
- var drawLayerPolygonJ = this.map.editTools.startRectangle()
- this.drawLayer.addLayer(drawLayerPolygonJ)
- this.setLogic(drawLayerPolygonJ)
+ this.drawLayer = this.map.editTools.startRectangle()
+ this.drawLayerArray.push(this.drawLayer)
+ this.setLogic()
break
case '鍦嗗舰':
- var drawLayerPolygonY = this.map.editTools.startCircle()
- this.drawLayer.addLayer(drawLayerPolygonY)
- this.setLogic(drawLayerPolygonY)
+ this.drawLayer = this.map.editTools.startCircle()
+ this.drawLayerArray.push(this.drawLayer)
+ this.setLogic()
break
case '鍒犻櫎':
- this.drawLayer.clearLayers()
+ for (let i = 0; i < this.drawLayerArray.length; i++) {
+ this.map.removeLayer(this.drawLayerArray[i])
+ }
break
case '娓呴櫎':
Measure.clearMeasure(this.map, this.L)
@@ -366,13 +364,10 @@
break
}
},
- setLogic (layer) {
- layer.on('dblclick', this.L.DomEvent.stop).on('dblclick', layer.toggleEdit)
- layer.setStyle({
- color: 'red',
- fillColor: '#ffffff',
- fillOpacity: 0.1,
- fill: true
+ setLogic () {
+ this.drawLayer.on('dblclick', this.L.DomEvent.stop).on('dblclick', this.drawLayer.toggleEdit)
+ this.drawLayer.setStyle({
+ color: 'red'
})
},
changeSelect () {
@@ -426,7 +421,6 @@
span {
display: block;
- font-size: 0.012rem;
color: @color-tool;
}
@@ -436,6 +430,16 @@
}
}
+ .el-button-choice {
+ z-index: 999;
+ padding: 0;
+ margin: 0 0.015rem;
+ width: 45px;
+ height: 45px;
+ background: @background-color-tools;
+ border: 1px solid @color-shadow;
+ }
+
.specific-tools-group {
z-index: 1;
//.tools-panel-content {
--
Gitblit v1.8.0