| | |
| | | console.log("tree drop: ", dropNode.label, dropType); |
| | | }, |
| | | handleCheckChange(data, checked, indeterminate) { |
| | | |
| | | if (data.type == 1) { |
| | | this.childOption = []; |
| | | this.getchilds(data); |
| | |
| | | var listTileset = []; |
| | | var listTMS = []; |
| | | var listMpt = []; |
| | | var listDem = []; |
| | | for (var i in this.childOption) { |
| | | switch (this.childOption[i].serveType) { |
| | | case 'WMS': |
| | |
| | | case 'TMS': |
| | | listTMS.push(this.childOption[i]) |
| | | break; |
| | | |
| | | case 'DEM': |
| | | listDem.push(this.childOption[i]) |
| | | break; |
| | | } |
| | | } |
| | | this.setChangeWMS(listWMS, checked); |
| | |
| | | this.setChangeTileset(listTileset, checked); |
| | | this.setChangeTMS(listTMS, checked); |
| | | this.setChangeMpt(listMpt, checked); |
| | | this.setChangeDem(listDem, checked); |
| | | } else if (data.type == 2) { |
| | | if (data.serveType == "WMS") { |
| | | this.setChangeWMS([data], checked); |
| | |
| | | this.setChangeTMS([data], checked); |
| | | } else if (data.serveType == "Mpt") { |
| | | this.setChangeMpt([data], checked); |
| | | } else if (data.serveType == "DEM") { |
| | | this.setChangeDem([data], checked); |
| | | } |
| | | } |
| | | // if (data.type != 2) return; |
| | | |
| | | |
| | | |
| | | |
| | | // if (data.serveType == "WFS") { |
| | | // if (window.Viewer.dataSources._dataSources.length == 0) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | |
| | | // } |
| | | // } else if (data.serveType == "Tileset") { |
| | | |
| | | // if (Viewer.scene.primitives._primitives.length == 0) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | // var std = []; |
| | | // for (var i in Viewer.scene.primitives._primitives) { |
| | | // Viewer.scene.primitives._primitives[i].show = checked; |
| | | // if (Viewer.scene.primitives._primitives[i].id == data.cnName) { |
| | | // std.push(data.id); |
| | | // Viewer.flyTo(Viewer.scene.primitives._primitives[i]); |
| | | // } |
| | | // } |
| | | // } |
| | | // if (std.length == 0 && checked == true) { |
| | | // this.setAddLayers(data); |
| | | // } else { |
| | | // window.map.getLayers().getArray().forEach(item => { |
| | | // if (item.get("name") == data.cnName) { |
| | | // item.setVisible(checked); |
| | | |
| | | // } |
| | | // }); |
| | | // } |
| | | // } else if (data.serveType == "TMS") { |
| | | |
| | | // if (data.pubid) { |
| | | |
| | | // } else { |
| | | // var res; |
| | | // if (data.url.indexOf("{host}") != -1) { |
| | | // res = data.url.replace("{host}", iisHost); |
| | | // } else { |
| | | // res = data.url |
| | | // } |
| | | // var url = res.split(';') |
| | | |
| | | // window.sgworld.Creator.createImageryProvider('mpt影像', "wms", { |
| | | // url: url[0], |
| | | // layers: url[1] |
| | | // }, "0", undefined, true, ""); |
| | | // } |
| | | |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | // var layers_ol = window.map.getAllLayers(); |
| | | // for (var i in layers_ol) { |
| | | // var layerOl = layers_ol[i]; |
| | | // if (layerOl.values_.name == data.label) { |
| | | // layerOl.setVisible(checked); //显示图层 |
| | | // } |
| | | // } |
| | | }, |
| | | setChangeDem(data, checked) { |
| | | this.cannelTerrainLayer(); |
| | | var val = this.$refs.tree.getCheckedKeys(); |
| | | var std = []; |
| | | for (var i = 0; i < val.length; i++) { |
| | | var res = this.$refs.tree.getNode(val[i]).data; |
| | | if (res.serveType && res.serveType != 'DEM') { |
| | | std.push(val[i]) |
| | | } |
| | | } |
| | | var result = data[0] |
| | | if (this.$refs.tree.getNode(result.id).checked) { |
| | | std.push(result.id); |
| | | var base_ulr = result.url; |
| | | if (base_ulr.indexOf('{host}') > -1) { |
| | | base_ulr = base_ulr.replace("{host}", iisHost) |
| | | } |
| | | |
| | | this.setTerrainDemLayer(base_ulr); |
| | | } else { |
| | | this.setTerrainMptLayer(); |
| | | } |
| | | this.$refs.tree.setCheckedKeys(std) |
| | | // |
| | | // this.$nextTick(() => { |
| | | // |
| | | // }); |
| | | |
| | | // setTimeout(() => { |
| | | // |
| | | // }, 500); |
| | | }, |
| | | |
| | | setChangeWMS(result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | this.$bus.$emit("showMenuLayer", value); |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | // if (checked.checkedKeys) { |
| | | // for (var i in result) { |
| | | // |
| | | // } |
| | | // } else { |
| | | |
| | | // for (var j in result) { |
| | | // console.log(result[j]) |
| | | // // |
| | | // } |
| | | // } |
| | | }, |
| | | setChangeMpt(result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | |
| | | }, |
| | | getNewTree(obj, result) { |
| | | for (const i in obj) { |
| | | console.log(obj[i].cnName) |
| | | result.push(obj[i]) |
| | | if (obj[i].children && obj[i].children.length > 0) { |
| | | this.getNewTree(obj[i].children, result) |
| | |
| | | return rs |
| | | } |
| | | }) |
| | | debugger |
| | | var val = this.$store.state.oldTree.filter(rs => { |
| | | if (rs.enName == st_code[0].code) { |
| | | return rs |
| | |
| | | } |
| | | |
| | | } |
| | | this.cannelTerrainLayer(); |
| | | this.setTerrainMptLayer(); |
| | | //清空图层树选中状态 |
| | | this.$refs.tree.setCheckedKeys([]); |
| | | if (val.length > 0) { |
| | | |
| | | if (val[0].type == 1 && val[0].isProject == 1) {//项目分类 |
| | | var std = []; |
| | | |
| | | var std_check = []; |
| | | for (var i in val) { |
| | | var std_val = this.getNewTree([this.$refs.tree.getNode(val[i].id).data], []) |
| | | for (var j in std_val) { |
| | | std.push(std_val[j]) |
| | | std_check.push(std_val[j]) |
| | | } |
| | | } |
| | | |
| | | |
| | | var value = this.$store.state.isProjectLayer; |
| | | for (var i in value) { |
| | | std.push(value[i]) |
| | | |
| | | std_check.push(value[i]) |
| | | } |
| | | |
| | | |
| | | this.setProjectLayer(std); |
| | | this.setProjectLayer(std_check); |
| | | } else { |
| | | this.setChangeProLayer(); |
| | | } |
| | |
| | | } |
| | | |
| | | this.setProjectLayer(std); |
| | | |
| | | |
| | | } |
| | | |
| | | |
| | | }, |
| | | |
| | | cannelTerrainLayer() { |
| | | //清空地形 |
| | | if (window.terrainMptLayer) { |
| | | window.terrainMptLayer.deleteObject(); |
| | | window.terrainMptLayer = null; |
| | | } |
| | | if (window.terrainDemLayer) { |
| | | Viewer.terrainProvider = new Cesium.EllipsoidTerrainProvider(); |
| | | window.terrainDemLayer = null; |
| | | } |
| | | }, |
| | | setTerrainMptLayer() { |
| | | //默认地形MPT |
| | | var option = { |
| | | url: window.sceneConfig.SGUrl, |
| | | layerName: window.sceneConfig.mptName, |
| | | requestVertexNormals: true, |
| | | }; |
| | | window.terrainMptLayer = sgworld.Creator.sfsterrainprovider("", option, "", true, ""); |
| | | }, |
| | | setTerrainDemLayer(res) { |
| | | window.terrainDemLayer = new Cesium.CesiumTerrainProvider({ |
| | | url: res |
| | | }); |
| | | Viewer.terrainProvider = window.terrainDemLayer |
| | | }, |
| | | setProjectLayer(res) { |
| | | var layerid = []; |
| | | for (var i in res) { |
| | |
| | | this.getMenuProject() |
| | | this.$bus.$on("treeDataCopy", (res) => { |
| | | this.$store.state.treeData = this.treeData; |
| | | this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys(); |
| | | if (this.$refs.tree.getCheckedKeys().length > 0) { |
| | | this.$store.state.checkedKeys = this.$refs.tree.getCheckedKeys(); |
| | | } |
| | | }); |
| | | |
| | | if (this.$store.state.showAllLayers == true) { |