| | |
| | | loadLayer, |
| | | clearLayerByTypeId, |
| | | clearLayerByTypeIdArr, |
| | | loadAreaLayer |
| | | } from "@/utils/map.js"; |
| | | import _GLOBAL from "@/assets/GLOBAL"; |
| | | import store from "@/utils/store.js"; |
| | | import ZTTitem from "@/utils/ztt.js"; |
| | | import { layers } from "../../../../static/json/layer.js"; |
| | | import { set } from "ol/transform.js"; |
| | | export default { |
| | | name: "LayerPanel", |
| | | data() { |
| | |
| | | curFuncIndex: -1, |
| | | curZTIndex: -1, |
| | | state: store.thematicLayer, |
| | | basicMapChecked: store.basicMapChecked.val, |
| | | basicMapChecked: store.basicMapChecked, |
| | | state1: store.tdglInfo, |
| | | }; |
| | | }, |
| | |
| | | }, |
| | | // 二维底图选择 |
| | | handleEMapClick(result, index) { |
| | | let p = sgworld.Navigate.getCameraInfo(); |
| | | let pitch ; |
| | | if (pitch !== -90) { |
| | | pitch = -90; |
| | | sgworld.Navigate.flyToPointsInterest({ |
| | | destination: new Cesium.Cartesian3.fromDegrees( |
| | | p.location.lon, |
| | | p.location.lat, |
| | | p.location.height |
| | | ), |
| | | orientation: { |
| | | heading: Cesium.Math.toRadians(0), |
| | | pitch: Cesium.Math.toRadians(pitch), |
| | | roll: Cesium.Math.toRadians(0), |
| | | }, |
| | | }); |
| | | } |
| | | |
| | | // 设置相机 |
| | | if (result.name == "二维地图") { |
| | | window.Viewer.scene.globe.maximumScreenSpaceError = 4/3; |
| | | this.changeLayerView(25000, false); |
| | | } else if (result.name == "影像地图") { |
| | | window.Viewer.scene.globe.maximumScreenSpaceError = 4/3; |
| | | this.changeLayerView(50000, false); |
| | | } |
| | | // 切换图层 |
| | |
| | | handleSMapClick(result, index) { |
| | | // 设置相机 |
| | | if (result.name == "3D城市") { |
| | | window.Viewer.scene.globe.maximumScreenSpaceError = 2; |
| | | this.changeLayerView(45000, true); |
| | | } else if (result.name == "三维模型") { |
| | | window.Viewer.scene.globe.maximumScreenSpaceError = 2; |
| | | this.changeLayerView(80000, true); |
| | | } |
| | | // 切换图层 |
| | |
| | | // // store.setThematicLayerItemId(result.id); |
| | | } |
| | | }, |
| | | //加载地块模型 |
| | | loadLayer() { |
| | | window.tdglLayer = sgworld.Creator.createImageryProvider( |
| | | layers[8].name, |
| | | "tms", |
| | | { |
| | | id: layers[8].children[0].id, |
| | | url: layers[8].children[0].urls, |
| | | fileExtension: layers[8].children[0].img || "png", |
| | | enablePickFeatures: false, |
| | | level: layers[8].children[0].Level, |
| | | minimumLevel: layers[8].children[0].minimumLevel, |
| | | maximumLevel: layers[8].children[0].maximumLevel, |
| | | tilingScheme: |
| | | layers[8].children[0].tileType === "Geo" |
| | | ? new Cesium.GeographicTilingScheme() |
| | | : new Cesium.WebMercatorTilingScheme(), |
| | | // alpha: layers[8].children[0].alpha, |
| | | alpha: this.state1.alpha, |
| | | }, |
| | | "0", |
| | | layers[8].children[0].zIndex, |
| | | true, |
| | | "" |
| | | ); |
| | | }, |
| | | // 第三行 专题功能 点击 |
| | | handleFuncClick(index) { |
| | | if (this.curFuncIndex == index) { |
| | |
| | | this.curFuncIndex = -1; |
| | | window.clusterLayer && window.clusterLayer.clear(); |
| | | if (window.tdglLayer) { |
| | | store.setSliderShow(false); |
| | | sgworld.Creator.DeleteObject(window.tdglLayer); |
| | | } |
| | | } |
| | | // 隐藏底部图层面版 |
| | | store.setLayerPanelShow(false); |
| | | // 隐藏右上角菜单面板 |
| | | store.setMenuListShow(false); |
| | | // 隐藏底部漫游面板 |
| | | store.setRoamPanelShow(false); |
| | | //显示滑动条 |
| | | store.setSliderShow(true); |
| | | this.curFuncIndex = index; |
| | | switch (index) { |
| | | case 0: |
| | | this.loadLayer(); |
| | | store.setTdglFlag(true); |
| | | break; |
| | | case 1: |
| | | this.curFuncIndex = -1; |
| | | store.setTdglFlag(false); |
| | | if (window.tdglLayer) { |
| | | sgworld.Creator.DeleteObject(window.tdglLayer); |
| | | } |
| | | store.setHistoryShow(true); |
| | | break; |
| | | } else { |
| | | // 隐藏底部图层面版tdglLayer |
| | | store.setLayerPanelShow(false); |
| | | // 隐藏右上角菜单面板 |
| | | store.setMenuListShow(false); |
| | | // 隐藏底部漫游面板 |
| | | store.setRoamPanelShow(false); |
| | | this.curFuncIndex = index; |
| | | switch (index) { |
| | | case 0: |
| | | store.setSliderShow(true); |
| | | loadAreaLayer() |
| | | // window. = sgworld.Creator.createImageryProvider( |
| | | // layers[8].name, |
| | | // "tms", |
| | | // { |
| | | // id: layers[8].children[0].id, |
| | | // url: layers[8].children[0].urls, |
| | | // fileExtension: layers[8].children[0].img || "png", |
| | | // enablePickFeatures: false, |
| | | // level: layers[8].children[0].Level, |
| | | // minimumLevel: layers[8].children[0].minimumLevel, |
| | | // maximumLevel: layers[8].children[0].maximumLevel, |
| | | // tilingScheme: |
| | | // layers[8].children[0].tileType === "Geo" |
| | | // ? new Cesium.GeographicTilingScheme() |
| | | // : new Cesium.WebMercatorTilingScheme(), |
| | | // // alpha: layers[8].children[0].alpha, |
| | | // alpha: 1, |
| | | // }, |
| | | // "0", |
| | | // layers[8].children[0].zIndex, |
| | | // true, |
| | | // "" |
| | | // ); |
| | | store.setTdglFlag(true); |
| | | break; |
| | | case 1: |
| | | this.curFuncIndex = -1; |
| | | store.setTdglFlag(false); |
| | | if (window.tdglLayer) { |
| | | store.setSliderShow(false); |
| | | sgworld.Creator.DeleteObject(window.tdglLayer); |
| | | } |
| | | store.setHistoryShow(true); |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | showLayerTree() { |
| | |
| | | "basicMapChecked.val": { |
| | | handler: function (newVal, oldVal) { |
| | | if (newVal == "三维模型") { |
| | | debugger; |
| | | this.handleSMapClick( |
| | | { |
| | | id: "swmx", |
| | |
| | | immediate: true, //刷新加载 立马触发一次handler |
| | | deep: true, // 可以深度检测到 obj 对象的属性值的变化 |
| | | }, |
| | | "state1.alpha": { |
| | | handler: function (newVal) { |
| | | this.handleFuncClick(0); |
| | | }, |
| | | deep: true, |
| | | // "state1.alpha": { |
| | | // handler: function (newVal) { |
| | | // this.handleFuncClick(0); |
| | | // }, |
| | | // deep: true, |
| | | // }, |
| | | }, |
| | | computed: { |
| | | alpha() { |
| | | return store.tdglInfo.alpha; |
| | | }, |
| | | }, |
| | | }; |