From 440828305a83b5e1ffd0f3e4b2b88f7c8c4f128d Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Mon, 26 Sep 2022 15:05:45 +0800
Subject: [PATCH] 地图模式地图显示

---
 src/components/map/plotMap.vue |   39 +++++++++++++++++++++++++--------------
 1 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/src/components/map/plotMap.vue b/src/components/map/plotMap.vue
index ede9dc4..a19e172 100644
--- a/src/components/map/plotMap.vue
+++ b/src/components/map/plotMap.vue
@@ -43,6 +43,7 @@
         }
 
         function initViewer (lat,lon) {
+            console.log(11111111111)
             global.viewer = new global.DC.Viewer('viewer-container', {
                 contextOptions: {
                     webgl: {
@@ -53,6 +54,7 @@
                 },
                 sceneMode: 2
             })
+            console.log(global,22222222222)
 
             farmRegionLayer = new global.DC.VectorLayer('farmRegionLayer')
             global.viewer.addLayer(farmRegionLayer)
@@ -234,7 +236,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)
         })
     },
@@ -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