| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-04 18:18:42 |
| | | * @LastEditTime: 2023-04-05 00:50:03 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | global.viewer.addLayer(layersObjcect.monitoringLayer) |
| | | layersObjcect.panoramaLayer = new global.DC.VectorLayer('panoramaLayer') |
| | | global.viewer.addLayer(layersObjcect.panoramaLayer) |
| | | |
| | | floorEntitysLayers = new global.DC.VectorLayer('floorEntitysLayers') |
| | | global.viewer.addLayer(floorEntitysLayers) |
| | | |
| | | // 模型图层添加 |
| | | tilesetLayer = new global.DC.TilesetLayer('tilesetLayer') |
| | |
| | | }) |
| | | |
| | | // this.addMxTileset('sdTilesetLayer', `${tile3DUrl}/sf3d/361102/model/wanda/tileset.json`) |
| | | // this.addMxTileset('sdTilesetLayer', `https://tuan-gis.sit.fengtu.com.cn/361102/wanda/tileset.json`) |
| | | // this.addMxTileset('sdTilesetLayer02', `https://tuan-gis.sit.fengtu.com.cn/361102/wanda/tileset.json`) |
| | | // this.addMxTileset('sdTilesetLayer', `/mx/01/tileset.json`) |
| | | |
| | | if (this.tilesetLayerType == type && status == '') { |
| | |
| | | * @param {*} |
| | | */ |
| | | showThreeDimensions (positions, minHeight, maxHeight) { |
| | | if (flootEntitysEntites == null) { |
| | | floorEntitysLayers = new global.DC.Namespace.Cesium.CustomDataSource("floorEntitysLayers") |
| | | global.viewer.dataSources.add(floorEntitysLayers) |
| | | flootEntitysEntites = floorEntitysLayers.entities |
| | | } else { |
| | | flootEntitysEntites.removeAll() |
| | | if (floorEntitysLayers != null) { |
| | | floorEntitysLayers.remove() |
| | | floorEntitysLayers = new global.DC.VectorLayer('floorEntitysLayers') |
| | | global.viewer.addLayer(floorEntitysLayers) |
| | | } |
| | | |
| | | floorEntitysLayers.clear() |
| | | |
| | | let housePositions = JSON.parse(positions).coordinates[0] |
| | | |
| | | let floorPositions = housePositions.reduce((prev, curr) => { |
| | | curr.forEach(item => { |
| | | prev.push(item) |
| | | }) |
| | | prev.push([curr[0], curr[1]]) |
| | | |
| | | return prev |
| | | }, []) |
| | | |
| | | flootEntitysEntites.add({ |
| | | polygon: { |
| | | hierarchy: global.DC.Namespace.Cesium.Cartesian3.fromDegreesArrayHeights(floorPositions), |
| | | heightReference: global.DC.Namespace.Cesium.HeightReference.RELATIVE_TO_GROUND, |
| | | extrudedHeightReference: global.DC.Namespace.Cesium.HeightReference.RELATIVE_TO_GROUND, |
| | | height: minHeight, |
| | | extrudedHeight: maxHeight, |
| | | material: global.DC.Namespace.Cesium.Color.RED.withAlpha(0.5), |
| | | } |
| | | let polygonStr = floorPositions.join(';') |
| | | |
| | | let polygon = new global.DC.Polygon(polygonStr) |
| | | |
| | | polygon.setStyle({ |
| | | material: global.DC.Namespace.Cesium.Color.RED.withAlpha(0.5), |
| | | extrudedHeight: maxHeight, |
| | | height: minHeight, |
| | | extrudedHeightReference: global.DC.Namespace.Cesium.HeightReference.RELATIVE_TO_GROUND, |
| | | heightReference: global.DC.Namespace.Cesium.HeightReference.RELATIVE_TO_GROUND |
| | | }) |
| | | |
| | | floorEntitysLayers.addOverlay(polygon) |
| | | |
| | | floorEntitysLayers.show = true |
| | | }, |
| | | |
| | | // 清除建筑3D |
| | | clearHouse3D () { |
| | | if (flootEntitysEntites == null) { |
| | | floorEntitysLayers = new global.DC.Namespace.Cesium.CustomDataSource("floorEntitysLayers") |
| | | global.viewer.dataSources.add(floorEntitysLayers) |
| | | flootEntitysEntites = floorEntitysLayers.entities |
| | | } else { |
| | | flootEntitysEntites.removeAll() |
| | | } |
| | | floorEntitysLayers.clear() |
| | | }, |
| | | }, |
| | | |