From b4732fd737dec0e17aaec559168e6377de1e0347 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Mon, 28 Mar 2022 15:25:08 +0800
Subject: [PATCH] 404跳转问题,活动加载删除问题
---
src/components/map/components/dimension.vue | 436 +++++++++++++++++++++++++++--------------------------
1 files changed, 223 insertions(+), 213 deletions(-)
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 6d7d2e4..03bb72a 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -59,6 +59,13 @@
let viewerHeight = 950
let smallViewerHeight = 1950
+const mixVH = 500
+const maxVH = 950
+const oneVH = 500
+const twoVH = 650
+const fourVH = 800
+const fiveVH = 950
+
// const wallLayer = null
export default {
@@ -207,16 +214,17 @@
videoLayer.addOverlay(cameraVideo)
- baseMapLayer =
- global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
- url: '/wp/{z}/{x}/{y}.png',
- fileExtension: 'png'
- // minimumLevel: 19
- }))
+ // baseMapLayer =
+ // global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ // url: '/wp/{z}/{x}/{y}.png',
+ // fileExtension: 'png'
+ // // minimumLevel: 19
+ // }))
global.viewer.imageryLayers.addImageryProvider(
new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/FZ25DMap/MapServer/WMTS',
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/PX25DMap/Pingxiang25DMap18000/MapServer/WMTS',
layer: 'fzsw2019',
style: 'default',
tileMatrixSetID: 'default028mm',
@@ -325,11 +333,11 @@
})
// 最小
- global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
- global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1500
+ global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
// 最大
- global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 950
- global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1950
+ global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
// 设置相机缩小时的速率
global.viewer.scene.screenSpaceCameraController._minimumZoomRate = 2000
@@ -436,178 +444,180 @@
}
})
- document.querySelector('.dc-zoom-controller').children[1].onclick =
- function () {
- if (that.dimensionValue == '真三维') {
- global.viewer.camera.setView({
- // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
- // fromDegrees()方法,将经纬度和高程转换为世界坐标
- destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- that.mapCenter[0],
- that.mapCenter[1],
- 220.0
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(-9),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-34.54),
- roll: 0.0
+ this.$nextTick(() => {
+ document.querySelector('.dc-zoom-controller').children[1].onclick =
+ function () {
+ if (that.dimensionValue == '真三维') {
+ global.viewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ that.mapCenter[0],
+ that.mapCenter[1],
+ 220.0
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(-9),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-34.54),
+ roll: 0.0
+ }
+ })
+ } else {
+ global.viewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ that.mapCenter[0],
+ that.mapCenter[1],
+ that.mapCenter[2]
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ }
+ }
+
+ document.querySelector('.dc-zoom-controller').children[2].onclick =
+ function () {
+ if (
+ that.dimensionValue != undefined &&
+ that.dimensionValue != '真三维'
+ ) {
+ if (viewerHeight == oneVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ twoVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = twoVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
}
- })
- } else {
- global.viewer.camera.setView({
- // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
- // fromDegrees()方法,将经纬度和高程转换为世界坐标
- destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- that.mapCenter[0],
- that.mapCenter[1],
- that.mapCenter[2]
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
+
+ if (viewerHeight == twoVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fourVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fourVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
}
- })
- }
- }
- document.querySelector('.dc-zoom-controller').children[2].onclick =
- function () {
- if (
- that.dimensionValue != undefined &&
- that.dimensionValue != '真三维'
- ) {
- if (viewerHeight == 500) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 650
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 650
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
-
- if (viewerHeight == 650) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 800
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 800
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
-
- if (viewerHeight == 800) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 950
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 950
- this.$emit('change-wheel', false, 'startWheel')
+ if (viewerHeight == fourVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fiveVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fiveVH
+ this.$emit('change-wheel', false, 'startWheel')
+ }
}
}
- }
- document.querySelector('.dc-zoom-controller').children[0].onclick =
- function () {
- if (
- that.dimensionValue != undefined &&
- that.dimensionValue != '真三维'
- ) {
- if (viewerHeight == 950) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 800
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 800
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
+ document.querySelector('.dc-zoom-controller').children[0].onclick =
+ function () {
+ if (
+ that.dimensionValue != undefined &&
+ that.dimensionValue != '真三维'
+ ) {
+ if (viewerHeight == fiveVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ fourVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = fourVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
+ }
- if (viewerHeight == 800) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 650
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 650
- this.$emit('change-wheel', false, 'startWheel')
- return
- }
+ if (viewerHeight == fourVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ twoVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = twoVH
+ this.$emit('change-wheel', false, 'startWheel')
+ return
+ }
- if (viewerHeight == 650) {
- global.viewer.camera.setView({
- destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
- global.viewer.camera.positionCartographic.longitude,
- global.viewer.camera.positionCartographic.latitude,
- 500
- ),
- orientation: {
- // 指向
- heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
- // 视角
- pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
- }
- })
- viewerHeight = 500
- this.$emit('change-wheel', false, 'startWheel')
+ if (viewerHeight == twoVH) {
+ global.viewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.viewer.camera.positionCartographic.longitude,
+ global.viewer.camera.positionCartographic.latitude,
+ oneVH
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ viewerHeight = oneVH
+ this.$emit('change-wheel', false, 'startWheel')
+ }
}
}
- }
+ })
global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
global.eagleViewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.smallMapCameraEvent)
@@ -693,12 +703,12 @@
if (this.startWheel == false) return
if (this.wheelFlag) { // 下
- if (viewerHeight == 950) {
+ if (viewerHeight == fiveVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 800
+ fourVH
),
orientation: {
// 指向
@@ -708,17 +718,17 @@
roll: 0.0
}
})
- viewerHeight = 800
+ viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 800) {
+ if (viewerHeight == fourVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 650
+ twoVH
),
orientation: {
// 指向
@@ -728,17 +738,17 @@
roll: 0.0
}
})
- viewerHeight = 650
+ viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 650) {
+ if (viewerHeight == twoVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 500
+ oneVH
),
orientation: {
// 指向
@@ -748,16 +758,16 @@
roll: 0.0
}
})
- viewerHeight = 500
+ viewerHeight = oneVH
this.$emit('change-wheel', false, 'startWheel')
}
} else { // 上
- if (viewerHeight == 500) {
+ if (viewerHeight == oneVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 650
+ twoVH
),
orientation: {
// 指向
@@ -767,17 +777,17 @@
roll: 0.0
}
})
- viewerHeight = 650
+ viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 650) {
+ if (viewerHeight == twoVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 800
+ fourVH
),
orientation: {
// 指向
@@ -787,17 +797,17 @@
roll: 0.0
}
})
- viewerHeight = 800
+ viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
return
}
- if (viewerHeight == 800) {
+ if (viewerHeight == fourVH) {
global.viewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
- 950
+ fiveVH
),
orientation: {
// 指向
@@ -807,7 +817,7 @@
roll: 0.0
}
})
- viewerHeight = 950
+ viewerHeight = fiveVH
this.$emit('change-wheel', false, 'startWheel')
}
}
@@ -827,12 +837,12 @@
if (this.startSmallWheel == false) return
if (this.wheelFlag) { // 下
- if (smallViewerHeight == 1950) {
+ if (smallViewerHeight == fiveVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1800
+ fourVH + 1000
),
orientation: {
// 指向
@@ -842,17 +852,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1800
+ smallViewerHeight = fourVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1800) {
+ if (smallViewerHeight == fourVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1650
+ twoVH + 1000
),
orientation: {
// 指向
@@ -862,17 +872,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1650
+ smallViewerHeight = twoVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1650) {
+ if (smallViewerHeight == twoVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1500
+ oneVH + 1000
),
orientation: {
// 指向
@@ -882,16 +892,16 @@
roll: 0.0
}
})
- smallViewerHeight = 1500
+ smallViewerHeight = oneVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
}
} else { // 上
- if (smallViewerHeight == 1500) {
+ if (smallViewerHeight == oneVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1650
+ twoVH + 1000
),
orientation: {
// 指向
@@ -901,17 +911,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1650
+ smallViewerHeight = twoVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1650) {
+ if (smallViewerHeight == twoVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1800
+ fourVH + 1000
),
orientation: {
// 指向
@@ -921,17 +931,17 @@
roll: 0.0
}
})
- smallViewerHeight = 1800
+ smallViewerHeight = fourVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
return
}
- if (smallViewerHeight == 1800) {
+ if (smallViewerHeight == fourVH + 1000) {
global.eagleViewer.camera.setView({
destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
global.eagleViewer.camera.positionCartographic.longitude,
global.eagleViewer.camera.positionCartographic.latitude,
- 1950
+ fiveVH + 1000
),
orientation: {
// 指向
@@ -941,7 +951,7 @@
roll: 0.0
}
})
- smallViewerHeight = 1950
+ smallViewerHeight = fiveVH + 1000
this.$emit('change-wheel', false, 'startSmallWheel')
}
}
@@ -1294,7 +1304,7 @@
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
that.mapCenter[0],
that.mapCenter[1],
- 1950.0
+ maxVH + 1000
),
orientation: {
// 指向
@@ -1305,11 +1315,11 @@
}
})
// 最小
- global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 500
- global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1500
+ global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = mixVH + 1000
// 最大
- global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 950
- global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1950
+ global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = maxVH + 1000
// 视角旋转
global.viewer.scene.screenSpaceCameraController.enableTilt = false
global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
--
Gitblit v1.9.3