From 58060e64e1fa9cf3ffcf5e29f09c4c2edf8f2126 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 21 Jul 2022 17:25:34 +0800
Subject: [PATCH] 数据显示更换

---
 src/components/map/components/dimension.vue |  219 ++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 138 insertions(+), 81 deletions(-)

diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 03e4e04..837bb70 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -43,16 +43,19 @@
 let yxLayer = null
 let dxLayer = null
 
-let viewerHeight = 700
-let heightChange = 700
+const slLayer = null
+const bzLayer = null
 
-const mixVH = 150
-const maxVH = 700
+let viewerHeight = 800
+let heightChange = 800
 
-const oneVH = 150
-const twoVH = 300
-const fourVH = 500
-const fiveVH = 700
+const mixVH = 300
+const maxVH = 1000
+
+const oneVH = 300
+const twoVH = 500
+const fourVH = 800
+const fiveVH = 1000
 
 const heightDifferenceValue = 100
 
@@ -97,8 +100,7 @@
                 [114.03954722, 27.62819644, 100],
                 [114.04006133, 27.628038, 100]
             ],
-            mapCenter: [114.03928435,
-                27.62997062, 700]
+            mapCenter: [116.02680670, 28.68340803, 800]
             // mapCenter: [116.35559028,
             //     27.96548051, 5000]
             // mapCenter: [115.871863, 28.743861, 950.0]
@@ -155,21 +157,21 @@
                 if (this.titlesetLayerFlag == false && newCode == true) {
                     var that = this
 
-                    baseLayerImgUrl.forEach(item => {
-                        var obj = {}
-                        obj[Object.keys(item)[0]] = []
-                        Object.values(item)[0].forEach(citem => {
-                            var layer = new global.DC.Namespace.Cesium.SingleTileImageryProvider({
-                                url: citem.url,
-                                rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(citem.rectangle[0], citem.rectangle[1], citem.rectangle[2], citem.rectangle[3])
-                            })
-                            obj[Object.keys(item)[0]].push({ layer, id: citem.id + Object.keys(item)[0], rectangle: citem.rectangle })
-                        })
-                        baseLayers.push(obj)
-                    })
+                    // baseLayerImgUrl.forEach(item => {
+                    //     var obj = {}
+                    //     obj[Object.keys(item)[0]] = []
+                    //     Object.values(item)[0].forEach(citem => {
+                    //         var layer = new global.DC.Namespace.Cesium.SingleTileImageryProvider({
+                    //             url: citem.url,
+                    //             rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(citem.rectangle[0], citem.rectangle[1], citem.rectangle[2], citem.rectangle[3])
+                    //         })
+                    //         obj[Object.keys(item)[0]].push({ layer, id: citem.id + Object.keys(item)[0], rectangle: citem.rectangle })
+                    //     })
+                    //     baseLayers.push(obj)
+                    // })
 
                     global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.SingleTileImageryProvider({
-                        url: '/img/bg/map.jpg'
+                        url: '/img/bg/bg.png'
                     }))
 
                     silhouetteBlue =
@@ -211,12 +213,31 @@
                     //     })
                     // )
 
-                    // baseMapLayer =
-                    //     global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
-                    //         url: '/wp/{z}/{x}/{y}.png',
-                    //         fileExtension: 'png'
-                    //         // minimumLevel: 19
-                    //     }))
+                    // slLayer = global.viewer.imageryLayers.addImageryProvider(
+                    //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                    //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                    //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                    //         format: 'image/jpeg',
+                    //         show: true,
+                    //         maximumLevel: 18
+                    //     })
+                    // )
+
+                    // bzLayer = global.viewer.imageryLayers.addImageryProvider(
+                    //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                    //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                    //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                    //         format: 'image/jpeg',
+                    //         show: true,
+                    //         maximumLevel: 18
+                    //     })
+                    // )
+
+                    // baseMapLayer = global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                    //     url: '/wp/{z}/{x}/{y}.png',
+                    //     fileExtension: 'png'
+                    //     // minimumLevel: 19
+                    // }))
 
                     that.addBaseLayer()
 
@@ -332,15 +353,15 @@
                             heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
                             // 视角
                             pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                            roll: 0.0
+                            roll: 0
                         }
                     })
                     // 最小
                     global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
                     global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
                     // 最大
-                    global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
-                    global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
+                    // global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
+                    // global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
 
                     // 设置相机缩小时的速率
                     // global.viewer.scene.screenSpaceCameraController._minimumZoomRate = 2000
@@ -355,8 +376,8 @@
                     global.viewer.scene.screenSpaceCameraController.enableZoom = true
                     global.eagleViewer.scene.screenSpaceCameraController.enableZoom = true
                     // 视角旋转
-                    global.viewer.scene.screenSpaceCameraController.enableTilt = false
-                    global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
+                    // global.viewer.scene.screenSpaceCameraController.enableTilt = false
+                    // global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
 
                     that.createdLayers()
 
@@ -481,7 +502,7 @@
                                             heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
                                             // 视角
                                             pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                                            roll: 0.0
+                                            roll: 0
                                         }
                                     })
                                 }
@@ -532,9 +553,6 @@
 
                 const miny = global.DC.Namespace.Cesium.Math.toDegrees(lowerRightCartographic.latitude)// 弧度转经纬度
                 const maxy = global.DC.Namespace.Cesium.Math.toDegrees(upperLeftCartographic.latitude)// 弧度转经纬度
-
-                console.log('经度:' + minx + '----' + maxx)
-                console.log('纬度:' + miny + '----' + maxy)
 
                 params.minx = minx
                 params.maxx = maxx
@@ -639,7 +657,7 @@
         updateBaseLayer (flag) {
             const extent = this.getViewExtend()
 
-            const array = baseLayers.filter(item => {
+            const array = baseLayerImgUrl.filter(item => {
                 return item[viewerHeight]
             })
 
@@ -709,7 +727,10 @@
                         sm.rectangle[3] < extent.maxy
                     )
                 ) {
-                    var layer = global.viewer.imageryLayers.addImageryProvider(sm.layer)
+                    var layer = global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.SingleTileImageryProvider({
+                        url: sm.url,
+                        rectangle: global.DC.Namespace.Cesium.Rectangle.fromDegrees(sm.rectangle[0], sm.rectangle[1], sm.rectangle[2], sm.rectangle[3])
+                    }))
 
                     baseLayer.push({ layer, id: sm.id })
                 }
@@ -785,43 +806,43 @@
             //     that.resetView(lng, lat, height, Range, 'maxy')
             // }
 
-            if (height > 720) {
-                global.viewer.camera.setView({
-                    destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
-                        global.viewer.camera.positionCartographic.longitude,
-                        global.viewer.camera.positionCartographic.latitude,
-                        702
-                    ),
-                    orientation: {
-                        // 指向
-                        heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
-                        // 视角
-                        pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                        roll: 0.0
-                    }
-                })
+            // if (height > 1020) {
+            //     global.viewer.camera.setView({
+            //         destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+            //             global.viewer.camera.positionCartographic.longitude,
+            //             global.viewer.camera.positionCartographic.latitude,
+            //             1002
+            //         ),
+            //         orientation: {
+            //             // 指向
+            //             heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+            //             // 视角
+            //             pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+            //             roll: 0
+            //         }
+            //     })
 
-                return
-            }
+            //     return
+            // }
 
-            if (height < 140) {
-                global.viewer.camera.setView({
-                    destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
-                        global.viewer.camera.positionCartographic.longitude,
-                        global.viewer.camera.positionCartographic.latitude,
-                        148
-                    ),
-                    orientation: {
-                        // 指向
-                        heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
-                        // 视角
-                        pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                        roll: 0.0
-                    }
-                })
+            // if (height < 290) {
+            //     global.viewer.camera.setView({
+            //         destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+            //             global.viewer.camera.positionCartographic.longitude,
+            //             global.viewer.camera.positionCartographic.latitude,
+            //             298
+            //         ),
+            //         orientation: {
+            //             // 指向
+            //             heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+            //             // 视角
+            //             pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+            //             roll: 0
+            //         }
+            //     })
 
-                return
-            }
+            //     return
+            // }
 
             if (height > fiveVH - heightDifferenceValue) {
                 viewerHeight = fiveVH
@@ -847,7 +868,7 @@
                     heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
                     // 视角
                     pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                    roll: 0.0
+                    roll: 0
                 }
             })
         },
@@ -1080,6 +1101,17 @@
             that.$store.commit('SET_TWOORTHREE', that.dimensionValue)
 
             if (that.dimensionValue == '真三维') {
+                // global.viewer.imageryLayers.remove(slLayer)
+                // global.viewer.removeTerrain(slLayer)
+                // slLayer = null
+                // global.viewer.imageryLayers.remove(bzLayer)
+                // global.viewer.removeTerrain(bzLayer)
+                // bzLayer = null
+
+                // global.viewer.imageryLayers.remove(baseMapLayer)
+                // global.viewer.removeTerrain(baseMapLayer)
+                // baseMapLayer = null
+
                 global.viewer.off(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
                 global.viewer.off(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
                 global.eagleViewer.off(global.DC.SceneEventType.CAMERA_CHANGED, that.smallMapCameraEvent)
@@ -1135,8 +1167,7 @@
                     // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
                     // fromDegrees()方法,将经纬度和高程转换为世界坐标
                     destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
-                        114.03989859,
-                        27.62581763,
+                        116.02680670, 28.68340803,
                         420.0
                     ),
                     orientation: {
@@ -1169,6 +1200,32 @@
                 global.viewer.removeTerrain(dxLayer)
                 dxLayer = null
 
+                // slLayer = global.viewer.imageryLayers.addImageryProvider(
+                //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                //         format: 'image/jpeg',
+                //         show: true,
+                //         maximumLevel: 18
+                //     })
+                // )
+
+                // bzLayer = global.viewer.imageryLayers.addImageryProvider(
+                //     new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                //         url: 'http://t{s}.tianditu.gov.cn/DataServer?T=cva_w&x={x}&y={y}&l={z}&tk=e9533f5acb2ac470b07f406a4d24b4f0',
+                //         subdomains: ['0', '1', '2', '3', '4', '5', '6', '7'],
+                //         format: 'image/jpeg',
+                //         show: true,
+                //         maximumLevel: 18
+                //     })
+                // )
+
+                // baseMapLayer = global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+                //     url: '/wp/{z}/{x}/{y}.png',
+                //     fileExtension: 'png'
+                //     // minimumLevel: 19
+                // }))
+
                 that.btnGroupShow = false
                 global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
                 global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
@@ -1193,7 +1250,7 @@
                         heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
                         // 视角
                         pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                        roll: 0.0
+                        roll: 0
                     }
                 })
 
@@ -1210,7 +1267,7 @@
                         heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
                         // 视角
                         pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
-                        roll: 0.0
+                        roll: 0
                     }
                 })
                 // 最小
@@ -1223,8 +1280,8 @@
                 // 设置相机放大时的速率
                 global.viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000
                 // 视角旋转
-                global.viewer.scene.screenSpaceCameraController.enableTilt = false
-                global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
+                // global.viewer.scene.screenSpaceCameraController.enableTilt = false
+                // global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
             }
         }
     }

--
Gitblit v1.9.3