From 815518df3b82838ed9fbb9e0fd506fa024bfa5d7 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 16 Mar 2023 15:52:48 +0800
Subject: [PATCH] 巡逻路线更新删除调整
---
src/views/activity/components/drawBtnBox.vue | 102 ++++++++++++++++++++++++++++++++------------------
1 files changed, 65 insertions(+), 37 deletions(-)
diff --git a/src/views/activity/components/drawBtnBox.vue b/src/views/activity/components/drawBtnBox.vue
index 575f2f9..ea14e17 100644
--- a/src/views/activity/components/drawBtnBox.vue
+++ b/src/views/activity/components/drawBtnBox.vue
@@ -141,6 +141,8 @@
global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, this.viewerLableMove)
global.viewer.on(global.DC.MouseEventType.LEFT_UP, this.labelUp)
})
+
+
},
methods: {
@@ -403,13 +405,14 @@
this.updateSecurityPlot({ id: overlayData.attrParams.id, position: position })
})
} else if (type == "line") {
- plot.edit(overlayData, (e) => {
+ let lineOverlayData = overlayData.attrParams.lineObj
+ plot.edit(lineOverlayData, (e) => {
let position = ''
- overlayData._positions.forEach(item => {
+ lineOverlayData._positions.forEach(item => {
position += item._lng + ' ' + item._lat + ','
})
position = position.slice(0, position.length - 1)
- this.updateActivityCar({ id: this.policeIconId, color: this.chooseColor, width: this.lineWidth, type: 1, position: position })
+ this.updateActivityCar({ id: this.policeIconId, color: this.$parent.chooseColor, width: this.lineWidth, type: 1, position: position },overlayData)
})
}
},
@@ -427,7 +430,6 @@
})
addPlotOverlayData.on(global.DC.MouseEventType.CLICK, this.$parent.reeditArrowClick)
if(item.type == 6 || item.type == 7 || item.type == 8 ) {
- console.log(addPlotOverlayData,666);
let position = item.position.slice(12, item.position.length - 2).split(',')[0].split(' ')
let pointPosition = new global.DC.Position(Number(position[0]), Number(position[1]))
addPlotOverlayData.position = {
@@ -481,16 +483,18 @@
addNewPolice(data,type,carType){
// 巡逻路线添加
if(type == 'policecar' && carType == 1) {
- console.log(data,666665);
// 线坐标字符串
let positionNewArr = this.$parent.convertPolylineOrPolygonPositionDate(data.position, data.type)
positionNewArr = positionNewArr.slice(1,positionNewArr.length - 2)
// 范围面坐标串
let coords = global.DC.GeoTools.polylineBuffer(positionNewArr, data.width != -1 ? data.width : 100)
let positionStr = ''
- coords.forEach(item => {
- positionStr += item[0] + ',' + item[1] + ';'
+ coords.forEach((item,index) => {
+ if(!(index == coords.length - 1)){
+ positionStr += item[0] + ',' + item[1] + ';'
+ }
})
+ positionStr = positionStr.slice(0,positionStr.length - 1)
// 面颜色
let color = ''
// 线颜色
@@ -509,41 +513,20 @@
'width': 3
})
-
- // let lineObj = new global.DC.Polyline(positionNewArr)
- // drawLayers.addOverlay(lineObj)
- // lineObj.setStyle({
- // 'material': lineColor,
- // 'width': 3
- // })
data.linePositionStr = positionNewArr
data.polygonPositionStr = positionStr
data.lineObj = addPoliceIconOverlayData
- // this.$EventBus.$emit('layerPolygonAdd', {
- // layerName: 'newCarDrawLineLayers',
- // positions: positionStr,
- // material: color,
- // params: data,
- // incident: this.lineOverlayTypeClick
- // })
let areaPolygon = new global.DC.Polygon(positionStr)
- console.log('positionStr',positionStr);
drawLayers.addOverlay(areaPolygon)
areaPolygon.setStyle({
- 'material': lineColor,
+ 'material': color,
+ 'height': 0.01,
})
+ addPoliceIconOverlayData.attrParams = data
areaPolygon.attrParams = data
- console.log('areaPolygon',areaPolygon);
-
- let lineObj = new global.DC.Polyline(positionNewArr)
- drawLayers.addOverlay(lineObj)
- lineObj.setStyle({
- 'material': global.DC.Namespace.Cesium.Color.fromBytes(255, 0, 0, 150),
- 'width': 30
- })
-
- }else{
+ areaPolygon.on(global.DC.MouseEventType.CLICK, this.$parent.lineOverlayTypeClick)
+ } else {
let positionObj = this.$parent.convertBillboardPositionDate(data, type)
let positionArr = data.position.slice(7, data.position.length - 2).split(',')[0].split(' ')
let position = new global.DC.Position(Number(positionArr[0]), Number(positionArr[1]))
@@ -578,7 +561,7 @@
addPoliceIconOverlayData.on(global.DC.MouseEventType.CLICK, this.$parent.overlayTypeClick)
// addPoliceIconOverlayData.on(global.DC.MouseEventType.MOUSE_OVER, this.$parent.pointMouseOver)
addPoliceIconOverlayData.on(global.DC.MouseEventType.MOUSE_OUT, this.$parent.pointMouseOut)
- }
+ }
},
// 修改标绘样式
@@ -636,6 +619,53 @@
if('policemanId' in params){
overlay.attrParams.data.policemanId= params.policemanId
}
+
+ if('width' in params){
+ let linePosition = ''
+ if('position' in params){
+ linePosition = params.position.replace(/,/g, ";").replace(/ /g, ",")
+ }else{
+ linePosition = overlay.attrParams.linePositionStr
+ }
+ let coords = global.DC.GeoTools.polylineBuffer(linePosition, params.width)
+ let positionStr = ''
+ coords.forEach((item,index) => {
+ if(!(index == coords.length - 1)){
+ positionStr += item[0] + ',' + item[1] + ';'
+ }
+ })
+ positionStr = positionStr.slice(0,positionStr.length - 1)
+ // 面颜色
+ let color = ''
+ // 线颜色
+ let lineColor = ''
+ if (params.color == '') {
+ color = global.DC.Namespace.Cesium.Color.fromBytes(255, 0, 0, 150)
+ } else {
+ let r = parseInt(params.color.slice(1, 3), 16)
+ let g = parseInt(params.color.slice(3, 5), 16)
+ let b = parseInt(params.color.slice(5, 7), 16)
+ color = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 150)
+ lineColor = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 255)
+ }
+ overlay.attrParams.lineObj.setStyle({
+ "material": lineColor,
+ 'width': 3
+ })
+ overlay.attrParams.linePositionStr = linePosition
+ overlay.attrParams.polygonPositionStr = positionStr
+ overlay.attrParams.color = params.color
+
+ let areaPolygon = new global.DC.Polygon(positionStr)
+ drawLayers.addOverlay(areaPolygon)
+ areaPolygon.setStyle({
+ 'material': color,
+ 'height': 0.01,
+ })
+ areaPolygon.attrParams = overlay.attrParams
+ areaPolygon.on(global.DC.MouseEventType.CLICK, this.$parent.lineOverlayTypeClick)
+ overlay.remove()
+ }
},
// 修改活动警车
@@ -655,7 +685,6 @@
})
}
- // this.$parent.getSecurityCarList(this.showingSecurityId, this.policeSwitch, this.polylineBtnSwitch)
})
},
@@ -664,18 +693,17 @@
updateActivityPolice (params,overlay) {
updateActivityPolice(params).then(res => {
if (res.data.success) {
- this.editPoliceStyle(params,overlay)
this.$message({
message: '保存成功',
type: 'success'
})
+ this.editPoliceStyle(params,overlay)
} else {
this.$message({
message: '保存失败',
type: 'error'
})
}
- // this.getSecurityPoliceList(this.showingSecurityId, this.policeSwitch)
})
},
--
Gitblit v1.9.3