From 082613d446e29e4ec1c16bfaa52345106a498b23 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 08 Nov 2022 09:03:49 +0800
Subject: [PATCH] 农事操作隐藏后四个,地图模式2d改为3d

---
 src/components/map/plotMap.vue |   69 ++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 29 deletions(-)

diff --git a/src/components/map/plotMap.vue b/src/components/map/plotMap.vue
index ede9dc4..d2134de 100644
--- a/src/components/map/plotMap.vue
+++ b/src/components/map/plotMap.vue
@@ -51,7 +51,6 @@
                         preserveDrawingBuffer: true
                     }
                 },
-                sceneMode: 2
             })
 
             farmRegionLayer = new global.DC.VectorLayer('farmRegionLayer')
@@ -234,7 +233,12 @@
         getDetail(this.$farmId).then(res=>{
             this.farm.latitude = res.data.data.latitude
             this.farm.longitude = res.data.data.longitude
-            global.DC.ready(initViewer(this.farm.latitude,this.farm.longitude))
+            // global.DC.ready(initViewer(this.farm.latitude,this.farm.longitude))
+
+            global.DC.ready(() => {
+                initViewer(this.farm.latitude,this.farm.longitude)
+            })
+
             this.addRegionPolyLine(NCregion)
         })
     },
@@ -341,23 +345,25 @@
                 // })
                 // farmLogoLayer.addOverlay(divIcon)
             }
-            const polygon = new global.DC.Polygon(positions)
-            polygon.attrParams = item
-            polygon.setStyle({
-                material: global.DC.Namespace.Cesium.Color.fromBytes(
-                    129, 255, 84,
-                    200
-                )
-            })
+            if(positions){
+                const polygon = new global.DC.Polygon(positions)
+                polygon.attrParams = item
+                polygon.setStyle({
+                    material: global.DC.Namespace.Cesium.Color.fromBytes(
+                        129, 255, 84,
+                        200
+                    )
+                })
 
-            polygon.on(global.DC.MouseEventType.CLICK, (e) => {
-                that.$parent.plotDetailsPopupShow(e.overlay.attrParams)
-                that.drawLandPolyLine(positions)
-            })
+                polygon.on(global.DC.MouseEventType.CLICK, (e) => {
+                    that.$parent.plotDetailsPopupShow(e.overlay.attrParams)
+                    that.drawLandPolyLine(positions)
+                })
 
 
-            plotRegionLayer.addOverlay(polygon)
-            addPlotLayers.push({ center, name: item.landName, id: item.id })
+                plotRegionLayer.addOverlay(polygon)
+                addPlotLayers.push({ center, name: item.landName, id: item.id })
+            }
         },
         /**
          * 地块画线
@@ -438,6 +444,7 @@
 
             // 根据坐标画线
             const positions = this.setPositionByLandRange(landObj.landRange)
+          console.log(positions,123455555)
             if (positions) {
                 this.drawLandPolyLine(positions)
             }
@@ -474,18 +481,7 @@
 
         // 经纬度测算中心位置
         getCenter (arr) {
-            var positionArr = []
-            arr.forEach(e=>{
-                // e = new global.DC.Namespace.Cesium.Cartesian3(e[0]-0, e[1]-0, 0)
-                e[0] = e[0]-0
-                e[1] = e[1]-0
-                positionArr.push(e)
-            })
-            positionArr.push(arr[0])
-            var positionTurf = [positionArr]
-            var polygon = turf.polygon(positionTurf);
-            var centroid = turf.centroid(polygon);
-            let centerLonLat = []
+
             // if (arr.length) {
             //     const lon = []
             //     const lat = []
@@ -509,7 +505,22 @@
             //     centerLonLat = [Number(centerLongitude), Number(centerLatitude)]
             //     console.log("中心",centerLonLat)
             // }
-            centerLonLat = [centroid.geometry.coordinates[0],centroid.geometry.coordinates[1]]
+            let centerLonLat = []
+            if(arr.length >= 3 ){
+                var positionArr = []
+                arr.forEach(e=>{
+                    // e = new global.DC.Namespace.Cesium.Cartesian3(e[0]-0, e[1]-0, 0)
+                    e[0] = e[0]-0
+                    e[1] = e[1]-0
+                    positionArr.push(e)
+                })
+                positionArr.push(arr[0])
+                var positionTurf = [positionArr]
+                var polygon = turf.polygon(positionTurf);
+                var centroid = turf.centroid(polygon);
+
+                centerLonLat = [centroid.geometry.coordinates[0],centroid.geometry.coordinates[1]]
+            }
             return centerLonLat
         }
     }

--
Gitblit v1.9.3