| | |
| | | <template> |
| | | <div class="dimension-cut"> |
| | | <!-- <el-button type="primary">{{zoomValue}}</el-button> --> |
| | | <el-button |
| | | v-show="btnGroupShow" |
| | | size="mini" |
| | |
| | | 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 |
| | |
| | | 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 |
| | | |
| | |
| | | name: 'dimension', |
| | | data () { |
| | | return { |
| | | |
| | | zoomValue: 0, |
| | | btnGroupShow: false, |
| | | dimensionValue: '三 维', |
| | | // 建筑2.5D地图 |
| | |
| | | [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] |
| | | } |
| | | }, |
| | |
| | | // // 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', |
| | |
| | | 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 |
| | | } |
| | |
| | | } |
| | | }, |
| | | |
| | | 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: { |
| | |
| | | }) |
| | | viewerHeight = fourVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | viewerHeight = twoVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | viewerHeight = oneVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | } |
| | | } else { // 上 |
| | | if (viewerHeight == oneVH) { |
| | |
| | | }) |
| | | viewerHeight = twoVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | viewerHeight = fourVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | return |
| | | } |
| | | |
| | |
| | | }) |
| | | viewerHeight = fiveVH |
| | | this.$emit('change-wheel', false, 'startWheel') |
| | | this.addBaseLayer() |
| | | } |
| | | } |
| | | }, |