From beac0f9a8bfe0f0e4d8db19fa18a9745ed1fcc40 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 09 Mar 2023 15:09:35 +0800
Subject: [PATCH] 安保更改
---
src/views/activity/components/drawBtnBox.vue | 66 ++++++++++++++++++++++++--------
1 files changed, 49 insertions(+), 17 deletions(-)
diff --git a/src/views/activity/components/drawBtnBox.vue b/src/views/activity/components/drawBtnBox.vue
index 372648b..d9f1367 100644
--- a/src/views/activity/components/drawBtnBox.vue
+++ b/src/views/activity/components/drawBtnBox.vue
@@ -118,11 +118,14 @@
},
mounted () {
+ drawLabelStatus = 'end'
+
this.$nextTick(() => {
if (drawLayers == null) {
drawLayers = new global.DC.VectorLayer('drawLayers')
global.viewer.addLayer(drawLayers)
plot = new global.DC.Plot(global.viewer)
+
}
@@ -130,12 +133,12 @@
drawArrowLayers = new global.DC.VectorLayer('drawArrowLayers')
global.viewer.addLayer(drawArrowLayers)
arrowPlot = new global.DC.Plot(global.viewer)
+
}
global.viewer.on(global.DC.MouseEventType.CLICK, this.viewerClick)
global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, this.viewerLableMove)
global.viewer.on(global.DC.MouseEventType.LEFT_UP, this.labelUp)
-
})
},
@@ -143,13 +146,20 @@
// 地图元素绘制
draw (poltType, policeType) {
+ labelPositionChange = false
+ drawLabelStatus = 'end'
+ isAddLabel = false
+
let flag = false
const that = this
+ global.viewer.tooltip.enable = true
+
// this.policeType = '' // ?
plot && plot.draw(poltType, overlay => {
+ if (isAddLabel) return
if (poltType == 'billboard' && policeType == 'policeman') {
overlay.icon = '/img/icon/police-people.png'
@@ -210,6 +220,11 @@
},
drawArrow (type, iconType) {
+ labelPositionChange = false
+ drawLabelStatus = 'end'
+ isAddLabel = false
+
+ global.viewer.tooltip.enable = true
if (type == 'polygon') {
@@ -217,6 +232,8 @@
let flag = false
plot && plot.draw(type, overlay => {
+ if (isAddLabel) return
+
if (overlay) {
drawArrowLayers.addOverlay(overlay)
plot.edit(overlay, (e) => {
@@ -251,6 +268,8 @@
let flag = false
plot && plot.draw(type, overlay => {
+ if (isAddLabel) return
+
if (iconType == 'icon1') {
that.$parent.plotSaveType = 6
overlay.size = [24, 24]
@@ -284,6 +303,8 @@
const that = this
let flag = false
arrowPlot && arrowPlot.draw(type, overlay => {
+ if (isAddLabel) return
+
if (overlay) {
let plotType = ''
if (type == 'attack_arrow') {
@@ -295,7 +316,9 @@
} else if (type == 'tailed_attack_arrow') {
plotType = 4
}
+
that.$parent.plotSaveType = plotType
+
plot.edit(overlay, (e) => {
flag = true
let positionStr = ''
@@ -393,10 +416,13 @@
},
drawArrowLabel () {
- this.labelPopupTitle = ""
+ global.viewer.tooltip.enable = false
+ plot != null && plot.stop()
+ arrowPlot != null && arrowPlot.stop()
+
isAddLabel = true
+ this.labelPopupTitle = ""
drawLabelStatus = 'start'
- global.viewer.tooltip.enable = true
this.$emit('drawLabel', drawLabelStatus)
},
@@ -422,9 +448,9 @@
},
labelShowPopup (e) {
+ this.labelPopupTitle = '添加文字标注'
this.addLabelVisible = true
this.addLabelPosition = e.wgs84SurfacePosition.lng + ' ' + e.wgs84SurfacePosition.lat + ',' + e.wgs84SurfacePosition.lng + ' ' + e.wgs84SurfacePosition.lat
- global.viewer.tooltip.enable = true
},
// 文字标注窗口的添加按钮
@@ -455,7 +481,8 @@
setTimeout(() => {
if (eventLast == 0) {
- global.viewer.tooltip.enable = false
+ this.$EventBus.$emit('closeTooltip')
+
labelPositionChange = true
curLabelOverLayer = e.overlay
global.viewer.scene.screenSpaceCameraController.enableRotate = false
@@ -479,7 +506,7 @@
},
updateLableMove (e) {
- global.viewer.tooltip.enable = false
+ this.$EventBus.$emit('closeTooltip')
curLabelOverLayer.position = {
lng: e.wgs84SurfacePosition.lng,
@@ -493,21 +520,22 @@
viewerLableMove (e) {
if (isAddLabel == true) {
- global.viewer.tooltip.showAt(e.windowPosition, '单击选择文字标注位置')
+ this.$EventBus.$emit('showTooltip', {
+ position: e.windowPosition,
+ text: '单击选择文字标注位置'
+ })
} else {
if (e.overlay && e.overlay.attrParams && e.overlay.attrParams.id) {
const flag = labelOverLayerID.some(item => item == e.overlay.attrParams.id)
- if (flag == true) {
- global.viewer.tooltip.enable = true
-
- global.viewer.tooltip.showAt({
- x: e.windowPosition.x + 10,
- y: e.windowPosition.y
- }, '长按开启拖拽,单击修改名称')
+ if (flag == true && labelPositionChange != true) {
+ this.$EventBus.$emit('showTooltip', {
+ position: e.windowPosition,
+ text: '长按开启拖拽,单击修改名称'
+ })
}
} else {
- global.viewer.tooltip.enable = false
+ this.$EventBus.$emit('closeTooltip')
}
}
},
@@ -517,11 +545,14 @@
isAddLabel = false
this.addLabelVisible = false
drawLabelStatus = 'end'
+
+ this.$EventBus.$emit('closeTooltip')
},
// 单击文字标绘
reEditLabel (e) {
- global.viewer.tooltip.enable = false
+ this.$EventBus.$emit('closeTooltip')
+
this.labelId = e.overlay.attrParams.id
this.labelPopupTitle = "修改文字标注"
this.labelInput = e.overlay.attrParams.item.name
@@ -530,7 +561,8 @@
},
destroyed () {
- plot.stop()
+ plot != null && plot.stop()
+ arrowPlot != null && arrowPlot.stop()
drawLayers.remove()
drawLayers = null
--
Gitblit v1.9.3