From 9e3d41cca88b47afa2768697c9c41d66ca4463f4 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 16 Mar 2023 09:36:30 +0800
Subject: [PATCH] 1

---
 src/views/activity/components/drawBtnBox.vue |  121 +++++++++++++++++++++++++++++++---------
 1 files changed, 94 insertions(+), 27 deletions(-)

diff --git a/src/views/activity/components/drawBtnBox.vue b/src/views/activity/components/drawBtnBox.vue
index 336af78..575f2f9 100644
--- a/src/views/activity/components/drawBtnBox.vue
+++ b/src/views/activity/components/drawBtnBox.vue
@@ -174,7 +174,7 @@
 
                         flag = true
 
-                        overlay.on(global.DC.MouseEventType.CLICK, this.$parent.overlayTypeClick)
+                        // overlay.on(global.DC.MouseEventType.CLICK, this.$parent.overlayTypeClick)
 
                         overlay.drawType = poltType
 
@@ -476,42 +476,109 @@
                })
             }
         },
+
         // 保存新增警力资源
-        addNewPolice(data,type){
-                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]))
-                let point = new global.DC.Point(position)
+        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] + ';'
+                })
+                // 面颜色
                 let color = ''
+                // 线颜色
+                let lineColor = ''
                 if (data.color == '') {
                     color = global.DC.Namespace.Cesium.Color.fromBytes(255, 0, 0, 150)
                 } else {
                     let r = parseInt(data.color.slice(1, 3), 16)
                     let g = parseInt(data.color.slice(3, 5), 16)
                     let b = parseInt(data.color.slice(5, 7), 16)
-                    color = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 255)
+                    color = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 150)
+                    lineColor = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 255)
                 }
-                point.attrParams = positionObj
-                drawLayers.addOverlay(point)
-                point.setStyle({
-                    "color": color, //颜色
-                    "outlineColor": color, //边框颜色
-                    "outlineWidth": 0, //边框大小,
-                    "pixelSize": 32,
+                addPoliceIconOverlayData.setStyle({
+                    "material": lineColor,
+                    'width': 3
                 })
-                // point.on(global.DC.MouseEventType.CLICK, this.$parent.overlayTypeClick)
-                point.on(global.DC.MouseEventType.MOUSE_OVER, this.$parent.pointMouseOver)
-                point.on(global.DC.MouseEventType.MOUSE_OUT, this.$parent.pointMouseOut)
-                addPoliceIconOverlayData.attrParams = positionObj
-                addPoliceIconOverlayData.attrParams.pointOverlayData = point
-                addPoliceIconOverlayData.position = {
-                 lng: Number(positionArr[0]),
-                 lat: Number(positionArr[1]),
-                 alt: 0.5,
-                }
-                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)
+    
+    
+                // 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,
+                })
+                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{
+               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]))
+               let point = new global.DC.Point(position)
+               let color = ''
+               if (data.color == '') {
+                   color = global.DC.Namespace.Cesium.Color.fromBytes(255, 0, 0, 150)
+               } else {
+                   let r = parseInt(data.color.slice(1, 3), 16)
+                   let g = parseInt(data.color.slice(3, 5), 16)
+                   let b = parseInt(data.color.slice(5, 7), 16)
+                   color = global.DC.Namespace.Cesium.Color.fromBytes(r, g, b, 255)
+               }
+               point.attrParams = positionObj
+               drawLayers.addOverlay(point)
+               point.setStyle({
+                   "color": color, //颜色
+                   "outlineColor": color, //边框颜色
+                   "outlineWidth": 0, //边框大小,
+                   "pixelSize": 32,
+               })
+               // point.on(global.DC.MouseEventType.CLICK, this.$parent.overlayTypeClick)
+               point.on(global.DC.MouseEventType.MOUSE_OVER, this.$parent.pointMouseOver)
+               point.on(global.DC.MouseEventType.MOUSE_OUT, this.$parent.pointMouseOut)
+               addPoliceIconOverlayData.attrParams = positionObj
+               addPoliceIconOverlayData.attrParams.pointOverlayData = point
+               addPoliceIconOverlayData.position = {
+                lng: Number(positionArr[0]),
+                lat: Number(positionArr[1]),
+                alt: 0.5,
+               }
+               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)
+               }
         },
 
         // 修改标绘样式

--
Gitblit v1.9.3