From 81f54040c2cb65537c6c6e1db8358a39a57dea0d Mon Sep 17 00:00:00 2001
From: mayisheng <admin>
Date: Mon, 15 Aug 2022 16:14:01 +0800
Subject: [PATCH] 1
---
src/components/map/components/dimension.vue | 226 +++++++++++++++++++++++++++++++++++--------------------
1 files changed, 143 insertions(+), 83 deletions(-)
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 03e4e04..6f8fd0b 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,13 +376,14 @@
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()
global.viewer.on(global.DC.MouseEventType.MOUSE_MOVE, that.mouseMoveEvent)
+ // 房屋轮廓对应的点击事件
global.viewer.on(global.DC.MouseEventType.CLICK, (e) => {
if (that.closeMapClick) {
return
@@ -481,7 +503,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 +554,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 +658,7 @@
updateBaseLayer (flag) {
const extent = this.getViewExtend()
- const array = baseLayers.filter(item => {
+ const array = baseLayerImgUrl.filter(item => {
return item[viewerHeight]
})
@@ -709,7 +728,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 +807,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,20 +869,22 @@
heading: global.DC.Namespace.Cesium.Math.toRadians(0, 0),
// 视角
pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
- roll: 0.0
+ roll: 0
}
})
},
+ // 加载房屋轮廓服务地址
createdLayers () {
layerGroup = new global.DC.LayerGroup('modelBox')
global.viewer.addLayerGroup(layerGroup)
DefaultAreaLayer = new global.DC.VectorLayer('DefaultAreaLayer')
layerGroup.addLayer(DefaultAreaLayer)
+
axios
.get(
- 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/lxxqwxq/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson'
+ 'http://arcgis.jxpskj.com:6080/arcgis/rest/services/shidalk/MapServer/0/query?where=1%3D1&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=*&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson'
)
.then((resultData) => {
resultData.data.features.forEach((item) => {
@@ -1010,7 +1034,7 @@
// skipLevelOfDetail: false,
shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED
})
- tileset.setHeight(150)
+ tileset.setHeight(5)
tilesetLayer.addOverlay(tileset)
tileset.on(global.DC.MouseEventType.CLICK, that.tilesetClick)
},
@@ -1080,6 +1104,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 +1170,7 @@
// Cesium的坐标是以地心为原点,一向指向南美洲,一向指向亚洲,一向指向北极州
// fromDegrees()方法,将经纬度和高程转换为世界坐标
destination: global.DC.Namespace.Cesium.Cartesian3.fromDegrees(
- 114.03989859,
- 27.62581763,
+ 116.02680670, 28.68340803,
420.0
),
orientation: {
@@ -1169,6 +1203,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 +1253,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 +1270,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 +1283,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