From 5e77d75c30795cf892f5550db94669975ff573f9 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 20 Sep 2022 15:38:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs

---
 src/components/map/index.vue |   40 ++++++++++++++++++++++++++--------------
 1 files changed, 26 insertions(+), 14 deletions(-)

diff --git a/src/components/map/index.vue b/src/components/map/index.vue
index 8a43f82..ed6a2d7 100644
--- a/src/components/map/index.vue
+++ b/src/components/map/index.vue
@@ -2,7 +2,7 @@
  * @Author: shuishen 1109946754@qq.com
  * @Date: 2022-08-18 17:00:30
  * @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2022-09-19 18:19:53
+ * @LastEditTime: 2022-09-20 15:05:14
  * @FilePath: \srs-police-affairs\src\components\map\index.vue
  * @Description: 公用地图组件
  * 
@@ -181,11 +181,12 @@
                 }
             })
 
+            // global.viewer.scene.globe.depthTestAgainstTerrain = false
+
             // 去除logo
             let primitiveArr = global.viewer.scene.primitives._primitives
             global.viewer.scene.primitives.remove(primitiveArr[0])
 
-            // global.viewer.scene.globe.depthTestAgainstTerrain = true
 
             // 已声明的图层添加到地图上
             siteEntitylayers = new global.DC.VectorLayer('siteEntitylayers')
@@ -344,7 +345,7 @@
         })
 
         this.$EventBus.$on('flyToPosition', (params) => {
-            that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 0, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
+            that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 2000, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
         })
 
 
@@ -401,7 +402,7 @@
          * @param {*} url 图标地址
          */
         addSiteEntity (item, url) {
-            const billboard = new global.DC.Billboard(new global.DC.Position(Number(item.lon), Number(item.lat)), url)
+            const billboard = new global.DC.Billboard(new global.DC.Position(Number(item.lng), Number(item.lat)), url)
             billboard.size = [20, 28]
             billboard.attrParams = item
             siteEntitylayers.addOverlay(billboard)
@@ -419,8 +420,10 @@
         mapAddLayer (layerName, type) {
             if (type == 'VectorLayer') {
                 if (!layersObjcect[layerName]) layersObjcect[layerName] = null
-                layersObjcect[layerName] = new global.DC.VectorLayer('layerName')
-                global.viewer.addLayer(layersObjcect[layerName])
+
+                layersObjcect[layerName] = new global.DC.VectorLayer(layerName)
+
+                layersObjcect[layerName].addTo(global.viewer)
             }
         },
 
@@ -444,7 +447,8 @@
          */
         mapClearLayer (layerName, type) {
             if (type == 'VectorLayer') {
-                layersObjcect[layerName].clear()
+                if (layersObjcect[layerName] && layersObjcect[layerName] != null)
+                    layersObjcect[layerName].clear()
             }
         },
 
@@ -456,15 +460,18 @@
          * @param {*} incident 添加的点位事件
          */
         layerPointAdd (layerName, type, params, incident) {
+            if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
+                this.mapAddLayer(layerName, 'VectorLayer')
+            }
 
             let pointElement
 
             if (type == "billboard") {
-                pointElement = new global.DC.Billboard(new global.DC.Position(Number(params.lon), Number(params.lat)), params.url)
+                pointElement = new global.DC.Billboard(new global.DC.Position(Number(params.lng), Number(params.lat), Number(params.alt)), params.url)
 
-                pointElement.size = [20, 28]
+                pointElement.size = [32, 32]
             } else if (type == "label") {
-                pointElement = new global.DC.Label(new global.DC.Position(Number(params.lon), Number(params.lat), 0), params.url)
+                pointElement = new global.DC.Label(new global.DC.Position(Number(params.lng), Number(params.lat), 0), params.url)
 
                 pointElement.setStyle({
                     fillColor: global.DC.Color.CRIMSON,
@@ -475,7 +482,9 @@
                     pixelOffset: { x: 0, y: -24 }
                 })
             }
+
             pointElement.attrParams = params
+
             layersObjcect[layerName].addOverlay(pointElement)
             pointElement.on(global.DC.MouseEventType.CLICK, incident)
         },
@@ -489,13 +498,14 @@
         layerPolygonAdd (layerName, positions, material) {
             if (!layersObjcect[layerName] || layersObjcect[layerName] == null) {
                 this.mapAddLayer(layerName, 'VectorLayer')
+
+                layersObjcect[layerName].allowDrillPicking = true
             }
 
             let polygon = new global.DC.Polygon(positions)
 
             polygon.setStyle({
                 material: material,
-                extrudedHeight: 0,
                 perPositionHeight: true
             })
 
@@ -570,9 +580,11 @@
          * @param {*} incident 模型点击事件
          */
         removeMxTileset (titlesetName, incident) {
-            tilesetObject[titlesetName].off(global.DC.MouseEventType.CLICK, incident)
-            tilesetLayer.removeOverlay(tilesetObject[titlesetName])
-            tilesetObject[titlesetName] = null
+            if (tilesetObject[titlesetName] && tilesetObject[titlesetName] != null) {
+                tilesetObject[titlesetName].off(global.DC.MouseEventType.CLICK, incident)
+                tilesetLayer.removeOverlay(tilesetObject[titlesetName])
+                tilesetObject[titlesetName] = null
+            }
         },
     },
 

--
Gitblit v1.9.3