From 7919b75636eaac4d3384a19d2db67df8a56b98cf Mon Sep 17 00:00:00 2001
From: liuyg <liuyg@qq.com>
Date: Fri, 25 Mar 2022 16:39:54 +0800
Subject: [PATCH] +屏蔽缩放
---
src/components/map/components/dimension.vue | 178 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 177 insertions(+), 1 deletions(-)
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 29d8353..2fe92f0 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -97,7 +97,9 @@
[114.03954722, 27.62819644, 100],
[114.04006133, 27.628038, 100]
],
- mapCenter: [115.871863, 28.743861, 400.0]
+ mapCenter: [116.35381525,
+ 27.95839468, 400.0]
+ // mapCenter: [115.871863, 28.743861, 400.0]
}
},
computed: {
@@ -207,6 +209,45 @@
// minimumLevel: 19
}))
+ global.viewer.imageryLayers.addImageryProvider(
+ new global.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
+ url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/FZ25DMap/MapServer/WMTS',
+ layer: 'fzsw2019',
+ style: 'default',
+ tileMatrixSetID: 'default028mm',
+ format: 'image/jpgpng',
+ tilingScheme: new global.DC.Namespace.Cesium.GeographicTilingScheme(),
+ maximumLevel: 19,
+ tileMatrixLabels: [
+ '0',
+ '1',
+ '2',
+ '3',
+ '4',
+ '5',
+ '6',
+ '7',
+ '8',
+ '9',
+ '10',
+ '11',
+ '12',
+ '13',
+ '14',
+ '15',
+ '16',
+ '17',
+ '18',
+ '19'
+ ]
+ })
+ )
+
+ // global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.ArcGisMapServerImageryProvider({
+ // url: 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/FZ25DMap/MapServer',
+ // layer: 'fzsw2019',
+ // }))
+
// wallLayer = new global.DC.VectorLayer('wallLayer')
// global.viewer.addLayer(wallLayer)
@@ -280,19 +321,26 @@
// 最小
global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 100
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1100
// 最大
global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 400
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1400
// 设置相机缩小时的速率
global.viewer.scene.screenSpaceCameraController._minimumZoomRate = 2000
+ // global.eagleViewer.scene.screenSpaceCameraController._minimumZoomRate = 2000
// 设置相机放大时的速率
global.viewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000
+ // global.eagleViewer.scene.screenSpaceCameraController._maximumZoomRate = 5906376272000
// 视角平移
global.viewer.scene.screenSpaceCameraController.enableRotate = true
+ global.eagleViewer.scene.screenSpaceCameraController.enableRotate = true
// 视角缩放
global.viewer.scene.screenSpaceCameraController.enableZoom = true
+ global.eagleViewer.scene.screenSpaceCameraController.enableZoom = true
// 视角旋转
global.viewer.scene.screenSpaceCameraController.enableTilt = false
+ global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
that.createdLayers()
@@ -563,6 +611,7 @@
}
global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
+ global.eagleViewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.smallMapCameraEvent)
}
}
}
@@ -699,6 +748,90 @@
global.viewer.camera.positionCartographic.longitude,
global.viewer.camera.positionCartographic.latitude,
400
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ }
+ },
+
+ smallMapCameraEvent () {
+ const height = Math.ceil(
+ global.eagleViewer.camera.positionCartographic.height
+ )
+
+ global.eagleViewer.camera.setView({
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+
+ if (height < 1150) {
+ global.eagleViewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.eagleViewer.camera.positionCartographic.longitude,
+ global.eagleViewer.camera.positionCartographic.latitude,
+ 1100
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ }
+
+ if (height > 1150 && height <= 1250) {
+ global.eagleViewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.eagleViewer.camera.positionCartographic.longitude,
+ global.eagleViewer.camera.positionCartographic.latitude,
+ 1200
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ }
+
+ if (height > 1250 && height <= 1350) {
+ global.eagleViewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.eagleViewer.camera.positionCartographic.longitude,
+ global.eagleViewer.camera.positionCartographic.latitude,
+ 1300
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+ }
+
+ if (height > 1350) {
+ global.eagleViewer.camera.setView({
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromRadians(
+ global.eagleViewer.camera.positionCartographic.longitude,
+ global.eagleViewer.camera.positionCartographic.latitude,
+ 1400
),
orientation: {
// 指向
@@ -946,6 +1079,7 @@
that.createTC()
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)
that.removeLayers()
global.viewer.imageryLayers.remove(baseMapLayer)
baseMapLayer = null
@@ -969,11 +1103,15 @@
global.viewer.addLayer(streenMlayer)
// 最小
global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 1.0
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1.0
// 最大
global.viewer.scene.screenSpaceCameraController.maximumZoomDistance =
Number.POSITIVE_INFINITY
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance =
+ Number.POSITIVE_INFINITY
// 视角旋转
global.viewer.scene.screenSpaceCameraController.enableTilt = true
+ global.eagleViewer.scene.screenSpaceCameraController.enableTilt = true
// 115.877863,28.741661
global.viewer.camera.setView({
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
@@ -991,12 +1129,30 @@
roll: 0.0
}
})
+
+ global.eagleViewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ that.mapCenter[0],
+ that.mapCenter[1],
+ 1220.0
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(-9),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-34.54),
+ roll: 0.0
+ }
+ })
} else {
that.btnGroupShow = false
that.removeSAT()
that.removeTC()
global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
global.viewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.mapCameraEvent)
+ global.eagleViewer.on(global.DC.SceneEventType.CAMERA_CHANGED, that.smallMapCameraEvent)
tileset.off(global.DC.MouseEventType.CLICK, that.tilesetClick)
tilesetLayer.removeOverlay(tileset)
tilesetLayer.show = false
@@ -1028,12 +1184,32 @@
roll: 0.0
}
})
+
+ global.eagleViewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
+ that.mapCenter[0],
+ that.mapCenter[1],
+ 1400.0
+ ),
+ orientation: {
+ // 指向
+ heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
// 最小
global.viewer.scene.screenSpaceCameraController.minimumZoomDistance = 100
+ global.eagleViewer.scene.screenSpaceCameraController.minimumZoomDistance = 1100
// 最大
global.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 400
+ global.eagleViewer.scene.screenSpaceCameraController.maximumZoomDistance = 1400
// 视角旋转
global.viewer.scene.screenSpaceCameraController.enableTilt = false
+ global.eagleViewer.scene.screenSpaceCameraController.enableTilt = false
}
}
}
--
Gitblit v1.9.3