From 3ffc6c12a3fa1deba2e4e9c85c158f19d309f258 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 31 Mar 2022 16:50:30 +0800
Subject: [PATCH] .
---
src/components/map/components/dimension.vue | 218 +++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 173 insertions(+), 45 deletions(-)
diff --git a/src/components/map/components/dimension.vue b/src/components/map/components/dimension.vue
index 03bb72a..25da64c 100644
--- a/src/components/map/components/dimension.vue
+++ b/src/components/map/components/dimension.vue
@@ -1,5 +1,6 @@
<template>
<div class="dimension-cut">
+ <!-- <el-button type="primary">{{zoomValue}}</el-button> -->
<el-button
v-show="btnGroupShow"
size="mini"
@@ -36,6 +37,71 @@
import { mapGetters } from 'vuex'
import { getDetail } from '@/api/pc/public/arc'
+let baseLayer = []
+
+const baseLayerImgUrl = [
+ {
+ 5000: [
+ {
+ url: 'img/base/1000/1.png',
+ rectangle: [116.346606, 27.965604, 116.3570815, 27.974063]
+ },
+ {
+ url: 'img/base/1000/2.png',
+ rectangle: [116.3570815, 27.965604, 116.367557, 27.974063]
+ },
+ {
+ url: 'img/base/1000/3.png',
+ rectangle: [116.346606, 27.957145, 116.3570815, 27.965604]
+ },
+ {
+ url: 'img/base/1000/4.png',
+ rectangle: [116.3570815, 27.957145, 116.367557, 27.965604]
+ }
+ ]
+ },
+ {
+ 4000: [
+ {
+ url: 'img/base/2000/1.png',
+ rectangle: [116.346606, 27.96842366, 116.35358966, 27.974063]
+ },
+ {
+ url: 'img/base/2000/2.png',
+ rectangle: [116.35358966, 27.96842366, 116.36057333, 27.974063]
+ },
+ {
+ url: 'img/base/2000/3.png',
+ rectangle: [116.36057333, 27.96842366, 116.367557, 27.974063]
+ },
+ {
+ url: 'img/base/2000/4.png',
+ rectangle: [116.346606, 27.96278433, 116.35358966, 27.96842366]
+ },
+ {
+ url: 'img/base/2000/5.png',
+ rectangle: [116.35358966, 27.96278433, 116.36057333, 27.96842366]
+ },
+ {
+ url: 'img/base/2000/6.png',
+ rectangle: [116.36057333, 27.96278433, 116.367557, 27.96842366]
+ },
+ {
+ url: 'img/base/2000/7.png',
+ rectangle: [116.346606, 27.957145, 116.35358966, 27.96278433]
+ },
+ {
+ url: 'img/base/2000/8.png',
+ rectangle: [116.35358966, 27.957145, 116.36057333, 27.96278433]
+ },
+ {
+ url: 'img/base/2000/9.png',
+ rectangle: [116.36057333, 27.957145, 116.367557, 27.96278433]
+ }
+ ]
+ }
+]
+
let tilesetLayer = null
let tileset = null
@@ -56,15 +122,26 @@
let layerSATtwo = null
let tcLayer = null
-let viewerHeight = 950
-let smallViewerHeight = 1950
+// 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 mixVH = 500
+// const maxVH = 950
+// const oneVH = 500
+// const twoVH = 650
+// const fourVH = 800
+// const fiveVH = 950
+
+let viewerHeight = 5000
+let smallViewerHeight = 6000
+
+const mixVH = 2000
+const maxVH = 5000
+
+const oneVH = 2000
+const twoVH = 3000
+const fourVH = 4000
+const fiveVH = 5000
// const wallLayer = null
@@ -72,7 +149,7 @@
name: 'dimension',
data () {
return {
-
+ zoomValue: 0,
btnGroupShow: false,
dimensionValue: '三 维',
// 建筑2.5D地图
@@ -108,8 +185,8 @@
[114.03954722, 27.62819644, 100],
[114.04006133, 27.628038, 100]
],
- mapCenter: [116.35381525,
- 27.95839468, 950.0]
+ mapCenter: [116.3570815,
+ 27.965604, 5000]
// mapCenter: [115.871863, 28.743861, 950.0]
}
},
@@ -221,40 +298,48 @@
// // 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',
- 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'
- ]
- })
- )
+ that.addBaseLayer()
+
+ // global.viewer.imageryLayers.addImageryProvider(new global.DC.Namespace.Cesium.UrlTemplateImageryProvider({
+ // url: '/fz/{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',
+ // 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',
@@ -637,6 +722,18 @@
mouseMoveEvent (e) {
var that = this
+ function heightToZoom (height) {
+ var A = 40487.57
+ var B = 0.00007096758
+ var C = 91610.74
+ var D = -40467.74
+ return Math.round(D + (A - D) / (1 + Math.pow(height / C, B)))
+ }
+ var height = Math.ceil(global.viewer.camera.positionCartographic.height)
+ var zoom = heightToZoom(height)
+
+ that.zoomValue = zoom
+
if (that.closeMapClick) {
return
}
@@ -689,6 +786,31 @@
}
},
+ addBaseLayer () {
+ if (baseLayer.length > 0) {
+ baseLayer.forEach(item => {
+ global.viewer.imageryLayers.remove(
+ item
+ )
+ })
+ }
+
+ baseLayer = []
+
+ baseLayerImgUrl.forEach(item => {
+ if (item[viewerHeight]) {
+ item[viewerHeight].forEach(sm => {
+ 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)
+ })
+ }
+ })
+ },
+
mapCameraEvent () {
global.viewer.camera.setView({
orientation: {
@@ -720,6 +842,7 @@
})
viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
return
}
@@ -740,6 +863,7 @@
})
viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
return
}
@@ -760,6 +884,7 @@
})
viewerHeight = oneVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
}
} else { // 上
if (viewerHeight == oneVH) {
@@ -779,6 +904,7 @@
})
viewerHeight = twoVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
return
}
@@ -799,6 +925,7 @@
})
viewerHeight = fourVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
return
}
@@ -819,6 +946,7 @@
})
viewerHeight = fiveVH
this.$emit('change-wheel', false, 'startWheel')
+ this.addBaseLayer()
}
}
},
--
Gitblit v1.9.3