| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-05 02:42:41 |
| | | * @LastEditTime: 2023-04-05 04:31:12 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | that.clearHouse3D() |
| | | }) |
| | | |
| | | this.$EventBus.$on('registerMxClick', (event) => { |
| | | that.registerMxClick(event) |
| | | }) |
| | | |
| | | |
| | | this.$EventBus.$on('unbindMxClick', (event) => { |
| | | that.unbindMxClick(event) |
| | | }) |
| | | |
| | | |
| | | // 重写定位方法 |
| | | const homeCenter = [117.99311892441567, 28.46938164123123] |
| | | this.$nextTick(() => { |
| | |
| | | * @return {*} |
| | | */ |
| | | highOrLightChange (type, status = '') { |
| | | this.$EventBus.$emit('showHouseingTileset', { |
| | | curType: this.tilesetLayerType, |
| | | type, |
| | | }) |
| | | |
| | | label.forEach(item => { |
| | | this.removeMxTileset(`sdTilesetLayer${item}`) |
| | | }) |
| | |
| | | label.forEach(item => { |
| | | this.addMxTileset(`sdTilesetLayer${item}`, `${tile3DUrl}/sf3d/361102/model/all1/${item}/tileset.json`) |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | /** |
| | | * @description: 社区感知下,模型的点击事件 |
| | | * @param {*} e |
| | | * @return {*} |
| | | */ |
| | | housingIndent (e) { |
| | | console.log(e, 'housingIndent-map') |
| | | console.log(e, 56666) |
| | | if (this.$route.path == '/layout/house') { |
| | | this.$EventBus.$emit('housingIndent', e) |
| | | } |
| | | }, |
| | | |
| | |
| | | addMxTileset (titlesetName, titlesetUrl) { |
| | | if (!tilesetObject[titlesetName]) tilesetObject[titlesetName] = null |
| | | |
| | | tilesetObject[titlesetName] = new global.DC.Tileset(titlesetUrl, { |
| | | luminanceAtZenith: 0.4, |
| | | // cullWithChildrenBounds: false, |
| | | // cullRequestsWhileMoving: false, |
| | | // skipLevelOfDetail: false, |
| | | shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED |
| | | }) |
| | | if (this.$route) |
| | | |
| | | tilesetObject[titlesetName] = new global.DC.Tileset(titlesetUrl, { |
| | | luminanceAtZenith: 0.4, |
| | | // cullWithChildrenBounds: false, |
| | | // cullRequestsWhileMoving: false, |
| | | // skipLevelOfDetail: false, |
| | | shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED |
| | | }) |
| | | |
| | | tilesetObject[titlesetName].setHeight(-72) |
| | | |
| | |
| | | clearHouse3D () { |
| | | floorEntitysLayers.clear() |
| | | }, |
| | | }, |
| | | |
| | | watch: { |
| | | $route: { |
| | | handler (route) { |
| | | if (route.path.indexOf('/layout/house') != -1) { |
| | | tilesetLayer && tilesetLayer.off(global.DC.MouseEventType.CLICK, this.housingIndent) |
| | | tilesetLayer && tilesetLayer.on(global.DC.MouseEventType.CLICK, this.housingIndent) |
| | | } else { |
| | | tilesetLayer && tilesetLayer.off(global.DC.MouseEventType.CLICK, this.housingIndent) |
| | | registerMxClick (event) { |
| | | label.forEach(item => { |
| | | if (tilesetObject[`sdTilesetLayer${item}`] && tilesetObject[`sdTilesetLayer${item}`] != null) { |
| | | tilesetObject[`sdTilesetLayer${item}`].on(global.DC.MouseEventType.CLICK, event) |
| | | } |
| | | }, |
| | | immediate: true |
| | | }) |
| | | }, |
| | | |
| | | unbindMxClick (event) { |
| | | label.forEach(item => { |
| | | if (tilesetObject[`sdTilesetLayer${item}`] && tilesetObject[`sdTilesetLayer${item}`] != null) { |
| | | tilesetObject[`sdTilesetLayer${item}`].off(global.DC.MouseEventType.CLICK, event) |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | } |