| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2024-10-31 10:47:29 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2024-11-04 19:12:02 |
| | | * @LastEditTime: 2024-11-05 18:36:54 |
| | | * @FilePath: \bigScreen\src\views\layout\components\scomponents\layersControl.vue |
| | | * @Description: |
| | | * |
| | |
| | | let tileLayers = new DC.TilesetLayer('tileLayers') |
| | | globalViewer.addLayer(tileLayers) |
| | | |
| | | const checkNodeById = (id) => { |
| | | const node = treeRef.value.getNode(id) |
| | | if (node) { |
| | | treeRef.value.setChecked(node, true, true) // true for checked, true for emit event |
| | | } |
| | | } |
| | | |
| | | const handleCheckChange = (data, options) => { |
| | | collectedNodes.value = [] |
| | | collectNodesWithFlag(data) |
| | |
| | | collectedNodes.value.forEach(item => { |
| | | if (options.checkedKeys.some(i => i == item.id)) { |
| | | if (item.subType == '3Dtile') { |
| | | addTileLayers[item.layerName] = new DC.Tileset( |
| | | item.url |
| | | ) |
| | | tileLayers.addOverlay(addTileLayers[item.layerName]) |
| | | if (!addTileLayers[item.layerName]) { |
| | | addTileLayers[item.layerName] = new DC.Tileset( |
| | | item.url, |
| | | { |
| | | cullWithChildrenBounds: false, |
| | | maximumScreenSpaceError: 256, |
| | | maximumMemoryUsage: 1024, |
| | | skipLevelOfDetail: true, |
| | | preferLeaves: true |
| | | }) |
| | | |
| | | tileLayers.addOverlay(addTileLayers[item.layerName]) |
| | | } else { |
| | | addTileLayers[item.layerName].show = true |
| | | } |
| | | |
| | | console.log(addTileLayers[item.layerName], 11111111) |
| | | |
| | | globalViewer.flyTo(addTileLayers[item.layerName]) |
| | | } else if (item.subType == 'labelPoint') { |
| | | if (!addTileLayers[item.layerName]) { |
| | |
| | | } else { |
| | | if (addTileLayers[item.layerName]) { |
| | | if (item.subType == '3Dtile') { |
| | | tileLayers.removeOverlay(addTileLayers[item.layerName]) |
| | | addTileLayers[item.layerName].show = false |
| | | } else if (item.subType == 'labelPoint') { |
| | | globalViewer.removeLayer(addTileLayers[item.layerName]) |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | // onMounted(() => { |
| | | // setTimeout(() => { |
| | | // checkNodeById('1') |
| | | // }, 1000) |
| | | // }) |
| | | onMounted(() => { |
| | | handleCheckChange(data.filter(i => i.id == '1'), { |
| | | checkedKeys: ['1'] |
| | | }) |
| | | }) |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |