| | |
| | | }, |
| | | // 定位 |
| | | async positioning () { |
| | | this.menuVisible = false; |
| | | this.rmListener(); |
| | | if (["Tileset", "3DML"].indexOf(this.currentData.serveType) > -1) { |
| | | for (var i in Viewer.scene.primitives._primitives) { |
| | | if (Viewer.scene.primitives._primitives[i].id == this.currentData.cnName) { |
| | |
| | | return; |
| | | } |
| | | |
| | | if (["TMS", "DEM"].indexOf(this.currentData.serveType) > -1 && this.currentData.pubid) { |
| | | if (["TMS", "DOM", "DEM"].indexOf(this.currentData.serveType) > -1 && this.currentData.pubid) { |
| | | var data = await comprehensive_selectPubById({ id: this.currentData.pubid }); |
| | | if (data.result && data.result.geom) { |
| | | var wkt = this.$wkt.parse(data.result.geom); |
| | |
| | | }, |
| | | // 钻孔柱状图 |
| | | async histogram () { |
| | | this.menuVisible = false |
| | | this.rmListener(); |
| | | var layer = this.currentData.enName.replaceAll("_", ""); |
| | | this.$store.state.mapSpaceQueryLayer = layer; |
| | | this.$store.state.mapPopBoxFlag = "2"; |
| | |
| | | |
| | | return this.levelArray[this.levelArray.length - 1]; |
| | | }, |
| | | handleCheckChange (data, checked, indeterminate) { |
| | | if (data.type == 1) { |
| | | this.childOption = []; |
| | | this.getchilds(data); |
| | | var listWMS = []; |
| | | var listWFS = []; |
| | | var listTileset = []; |
| | | var listTMS = []; |
| | | var listMpt = []; |
| | | for (var i in this.childOption) { |
| | | switch (this.childOption[i].serveType) { |
| | | case 'WMS': |
| | | listWMS.push(this.childOption[i]) |
| | | break; |
| | | case 'WFS': |
| | | listWFS.push(this.childOption[i]) |
| | | break; |
| | | case '3DML': |
| | | listTileset.push(this.childOption[i]) |
| | | break; |
| | | case 'Tileset': |
| | | listTileset.push(this.childOption[i]) |
| | | break; |
| | | case 'Mpt': |
| | | listMpt.push(this.childOption[i]) |
| | | break; |
| | | case 'TMS': |
| | | listTMS.push(this.childOption[i]) |
| | | break; |
| | | } |
| | | } |
| | | this.setChangeWMS(listWMS, checked); |
| | | this.setChangeWFS(listWFS, checked); |
| | | this.setChangeTileset(listTileset, checked); |
| | | this.setChangeTMS(listTMS, checked); |
| | | this.setChangeMpt(listMpt, checked); |
| | | } else if (data.type == 2) { |
| | | if (data.serveType == "WMS") { |
| | | this.setChangeWMS([data], checked); |
| | | } else if (data.serveType == "Tileset" || data.serveType == "3DML") { |
| | | this.setChangeTileset([data], checked); |
| | | } else if (data.serveType == "TMS") { |
| | | this.setChangeTMS([data], checked); |
| | | } else if (data.serveType == "Mpt") { |
| | | this.setChangeMpt([data], checked); |
| | | // 图层选中事件 |
| | | handleCheckChange (data, checked) { |
| | | let nodes = []; |
| | | this.getNodes(data, nodes); |
| | | |
| | | let obj = { WMS: [], Tileset: [], TMS: [], Mpt: [], DEM: [] }; |
| | | for (let i = 0, c = nodes.length; i < c; i++) { |
| | | let node = nodes[i]; |
| | | switch (node.serveType) { |
| | | case "WMS": |
| | | obj.WMS.push(node); |
| | | break; |
| | | case "3DML": |
| | | case "Tileset": |
| | | obj.Tileset.push(node); |
| | | break; |
| | | case "TMS": |
| | | obj.TMS.push(node); |
| | | break; |
| | | case "Mpt": |
| | | obj.Mpt.push(node); |
| | | break; |
| | | case "DEM": |
| | | obj.DEM.push(node); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (obj.WMS.length) this.setChangeWMS(obj.WMS, checked); |
| | | if (obj.Tileset.length) this.setChangeTileset(obj.Tileset, checked); |
| | | if (obj.TMS.length) this.setChangeTMS(obj.TMS, checked); |
| | | if (obj.Mpt.length) this.setChangeMpt(obj.Mpt, checked); |
| | | if (obj.DEM.length) this.setChangeDEM(obj.DEM, checked); |
| | | }, |
| | | setChangeWMS (result, checked) { |
| | | // 获取子节点 |
| | | getNodes (data, arr) { |
| | | if (data.children) { |
| | | for (let i = 0, c = data.children.length; i < c; i++) { |
| | | var node = data.children[i]; |
| | | if (node.children) { |
| | | this.getNodes(node, arr) |
| | | } else { |
| | | arr.push(node); |
| | | } |
| | | } |
| | | } else { |
| | | arr.push(data); |
| | | } |
| | | }, |
| | | // 切换WMS服务 |
| | | setChangeWMS (layers, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | this.$bus.$emit("showMenuLayer", value); |
| | | }, |
| | | setChangeWFS (result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | var std = []; |
| | | for (var i in value) { |
| | | std.push(value[i].id) |
| | | } |
| | | for (var i in result) { |
| | | var tile = result[i] |
| | | if (std.indexOf(tile.id) != -1) { |
| | | this.setAddLayers(tile) |
| | | } else { |
| | | for (var i in window.Viewer.dataSources._dataSources) { |
| | | if (window.Viewer.dataSources._dataSources[i].name == tile.cnName) { |
| | | window.Viewer.dataSources.remove(window.Viewer.dataSources._dataSources[i]); |
| | | } |
| | | } |
| | | // 切换Tileset |
| | | setChangeTileset (layers, checked) { |
| | | let ids = this.getCheckNodesIds(); |
| | | for (var i in layers) { |
| | | var layer = layers[i]; |
| | | if (ids.indexOf(layer.id) != -1) { |
| | | this.setAddLayers(layer); |
| | | continue; |
| | | } |
| | | |
| | | var layers_ol = window.map.getAllLayers(); |
| | | for (var i in layers_ol) { |
| | | var layerOl = layers_ol[i]; |
| | | if (layerOl.values_.name == tile.cnName) { |
| | | window.map.removeLayer(layerOl) |
| | | } |
| | | for (var j in Viewer.scene.primitives._primitives) { |
| | | if (Viewer.scene.primitives._primitives[j].id == layer.cnName) { |
| | | Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j]); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | var list = this.$store.state.setAlphaList; |
| | | for (var i = 0; i < list.length; i++) { |
| | | if (list[i].name == layer.cnName) { |
| | | list.splice(i, 1); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | setChangeTileset (result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | var std = []; |
| | | for (var i in value) { |
| | | std.push(value[i].id) |
| | | // 获取节点ID |
| | | getCheckNodesIds () { |
| | | var nodes = this.$refs.tree.getCheckedNodes(); |
| | | |
| | | var ids = []; |
| | | for (var i in nodes) { |
| | | ids.push(nodes[i].id); |
| | | } |
| | | for (var i in result) { |
| | | var tile = result[i] |
| | | if (std.indexOf(tile.id) != -1) { |
| | | this.setAddLayers(tile) |
| | | } else { |
| | | for (var j in Viewer.scene.primitives._primitives) { |
| | | if (Viewer.scene.primitives._primitives[j].id == tile.cnName) { |
| | | Viewer.scene.primitives.remove(Viewer.scene.primitives._primitives[j]) |
| | | } |
| | | } |
| | | var list = this.$store.state.setAlphaList; |
| | | for (var i = 0; i < list.length; i++) { |
| | | if (list[i].name == tile.cnName) { |
| | | list.splice(i, 1) |
| | | } |
| | | |
| | | return ids; |
| | | }, |
| | | // 切换TMS |
| | | setChangeTMS (layers, checked) { |
| | | let ids = this.getCheckNodesIds(); |
| | | for (var i in layers) { |
| | | var layer = layers[i]; |
| | | if (ids.indexOf(layer.id) != -1) { |
| | | this.setAddLayers(layer); |
| | | continue; |
| | | } |
| | | |
| | | for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { |
| | | if (window.Viewer.imageryLayers._layers[i].name == layer.cnName) { |
| | | window.Viewer.imageryLayers.remove(window.Viewer.imageryLayers._layers[i]); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | // 切换Mpt |
| | | setChangeMpt (result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | var std = []; |
| | |
| | | } |
| | | } |
| | | }, |
| | | setChangeTMS (result, checked) { |
| | | var value = this.$refs.tree.getCheckedNodes(); |
| | | var std = []; |
| | | for (var i in value) { |
| | | std.push(value[i].id) |
| | | } |
| | | for (var i in result) { |
| | | var tile = result[i] |
| | | if (std.indexOf(tile.id) != -1) { |
| | | this.setAddLayers(tile) |
| | | |
| | | } else { |
| | | for (var i = 0; i < window.Viewer.imageryLayers._layers.length; i++) { |
| | | var val_id = window.Viewer.imageryLayers._layers[i].name; |
| | | if (val_id == tile.cnName) { |
| | | window.Viewer.imageryLayers.remove( |
| | | window.Viewer.imageryLayers._layers[i] |
| | | ); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | getchilds (source) { |
| | | if (source.children) { |
| | | var child = source.children |
| | | for (var i in child) { |
| | | if (child[i].children) { |
| | | this.getchilds(child[i]) |
| | | } else { |
| | | this.childOption.push(child[i]) |
| | | } |
| | | } |
| | | } else { |
| | | this.childOption.push(source) |
| | | } |
| | | // 切换DEM |
| | | setChangeDEM () { |
| | | // |
| | | }, |
| | | async setAddLayers (res) { |
| | | if (res.serveType == "WMS") { |