From 19621635052322005f31579f7f3d481750898d7c Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Fri, 31 Dec 2021 08:56:36 +0800
Subject: [PATCH] 部分更改
---
src/components/map/components/dimension.vue | 115 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 78 insertions(+), 37 deletions(-)
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 2a65fc1..0b7d024 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -3,7 +3,7 @@
<el-radio-group v-model="dimensionValue"
size="medium"
@change="dimensionChange">
- <el-radio-button label="三 维"></el-radio-button>
+ <el-radio-button label="3 维"></el-radio-button>
<el-radio-button label="2.5维"></el-radio-button>
</el-radio-group>
</div>
@@ -18,14 +18,14 @@
data () {
return {
DC: null,
- dimensionValue: '三 维',
+ dimensionValue: '3 维',
newLayer: null,
provider: null,
wallLayer: null,
tileset: null,
tilesetLayer: null,
titlesetLayerFlag: false,
- oneFlag: false,
+ silhouetteBlue: null,
wallArr: [
[116.41526036, 27.95352217, 100],
[116.41128018, 27.95789328, 100],
@@ -90,18 +90,15 @@
}
)
that.tilesetLayer.addOverlay(that.tileset)
- setTimeout(() => {
- that.viewer.flyTo(that.tileset, 10)
- }, 2000)
- var silhouetteBlue = that.DC.Namespace.Cesium.PostProcessStageLibrary.createEdgeDetectionStage()
- silhouetteBlue.uniforms.color = that.DC.Namespace.Cesium.Color.fromBytes(9, 162, 40)
- silhouetteBlue.uniforms.length = 0.01
- silhouetteBlue.selected = []
+ that.silhouetteBlue = that.DC.Namespace.Cesium.PostProcessStageLibrary.createEdgeDetectionStage()
+ that.silhouetteBlue.uniforms.color = that.DC.Namespace.Cesium.Color.fromBytes(9, 162, 40)
+ that.silhouetteBlue.uniforms.length = 0.01
+ that.silhouetteBlue.selected = []
that.viewer.scene.postProcessStages.add(
that.DC.Namespace.Cesium.PostProcessStageLibrary.createSilhouetteStage([
- silhouetteBlue
+ that.silhouetteBlue
])
)
@@ -143,7 +140,7 @@
})
that.tileset.on(that.DC.MouseEventType.MOUSE_MOVE, e => {
- silhouetteBlue.selected = []
+ that.silhouetteBlue.selected = []
if (that.DC.Namespace.Cesium.defined(highlighted.feature)) {
highlighted.feature.color = highlighted.originalColor
@@ -151,7 +148,7 @@
}
if (e.feature !== selected.feature) {
- silhouetteBlue.selected = [e.feature]
+ that.silhouetteBlue.selected = [e.feature]
highlighted.feature = e.feature
@@ -163,6 +160,72 @@
}
})
+ var provider = new that.DC.Namespace.Cesium.WebMapTileServiceImageryProvider({
+ url: 'http://www.tdtfz.com/OneMapServer/rest/services/fzsw2019/MapServer/WMTS/tile/1.0.0/fzsw2019/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}',
+ layer: 'fzsw2019',
+ style: 'default',
+ tileMatrixSetID: 'default028mm',
+ format: 'image/jpgpng',
+ tilingScheme: new that.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'
+ ]
+ })
+ that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider)
+
+ that.wallLayer = new that.DC.VectorLayer('wallLayer')
+ that.viewer.addLayer(that.wallLayer)
+
+ that.wallArr.forEach(item => {
+ item = item.join(',')
+ })
+ that.wallArr = that.wallArr.join(';')
+ const wall = new that.DC.Wall(
+ that.wallArr
+ )
+ wall.setStyle({
+ material: new that.DC.WallTrailMaterialProperty({
+ color: that.DC.Namespace.Cesium.Color.fromBytes(0, 142, 255, 150),
+ // color: that.DC.Color.CYAN,
+ speed: 10
+ })
+ })
+ that.wallLayer.addOverlay(wall)
+
+ that.viewer.camera.setView({
+ // Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
+ // fromDegrees()方法,将经纬度和高程转换为世界坐标
+ destination: that.DC.Namespace.Cesium.Cartesian3.fromDegrees(116.36618337, 27.95911915, 1000.0),
+ orientation: {
+ // 指向
+ heading: that.DC.Namespace.Cesium.Math.toRadians(0, 0),
+ // 视角
+ pitch: that.DC.Namespace.Cesium.Math.toRadians(-90),
+ roll: 0.0
+ }
+ })
+
+ this.tilesetLayer.show = false
this.titlesetLayerFlag = true
}
}
@@ -171,10 +234,11 @@
methods: {
dimensionChange () {
var that = this
- if (that.dimensionValue == '三 维') {
+ if (that.dimensionValue == '3 维') {
that.wallLayer.show = false
that.viewer.imageryLayers.remove(that.newLayer)
that.newLayer = null
+ that.silhouetteBlue.selected = []
that.tilesetLayer.show = true
that.viewer.flyTo(that.tileset)
} else {
@@ -211,29 +275,6 @@
]
})
that.newLayer = that.viewer.imageryLayers.addImageryProvider(provider)
-
- if (that.oneFlag == false) {
- that.wallLayer = new that.DC.VectorLayer('wallLayer')
- that.viewer.addLayer(that.wallLayer)
-
- that.wallArr.forEach(item => {
- item = item.join(',')
- })
- that.wallArr = that.wallArr.join(';')
- const wall = new that.DC.Wall(
- that.wallArr
- )
- wall.setStyle({
- material: new that.DC.WallTrailMaterialProperty({
- color: that.DC.Namespace.Cesium.Color.fromBytes(0, 142, 255, 150),
- // color: that.DC.Color.CYAN,
- speed: 10
- })
- })
- that.wallLayer.addOverlay(wall)
-
- that.oneFlag = true
- }
that.wallLayer.show = true
--
Gitblit v1.9.3