From 09f448bc9dec772dafaeb04f0c60a0d722035226 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期五, 26 四月 2024 13:53:25 +0800 Subject: [PATCH] 路由跳转三维 --- src/components/sideMenu/layerMenu/layerPanel2.vue | 248 ++++++++++++++++++++++++++++++++----------------- 1 files changed, 163 insertions(+), 85 deletions(-) diff --git a/src/components/sideMenu/layerMenu/layerPanel2.vue b/src/components/sideMenu/layerMenu/layerPanel2.vue index db3a36f..274089c 100644 --- a/src/components/sideMenu/layerMenu/layerPanel2.vue +++ b/src/components/sideMenu/layerMenu/layerPanel2.vue @@ -1,7 +1,7 @@ <template> <div class="layerPanel"> <div class="mapMode"> - <div class="title" style="margin-top: 0px">鍦板浘妯″紡</div> + <div class="title">鍦板浘妯″紡</div> <div class="container"> <div class="layerItem" @@ -33,8 +33,8 @@ </div> </div> </div> - <div class="areaType" style="margin-top: 10px"> - <div class="title"> + <div class="areaType"> + <div class="title ZTtitle"> 涓撻搴旂敤 <!-- 涓嶆樉绀烘洿澶氬浘灞� --> <span class="more" v-show="false" @click.stop="showLayerTree" @@ -53,9 +53,6 @@ ZTValue.name }}</span> </div> - </div> - <div class="title2"></div> - <div class="container"> <div class="layerItem" v-for="(funcValue, funcIndex) in FuncList" @@ -70,7 +67,24 @@ funcValue.name }}</span> </div> + <!-- <div style="height: 0" class="layerItem" v-for="n in 3" :key="n"></div> --> </div> + <!-- <div class="container"> + <div + class="layerItem" + v-for="(funcValue, funcIndex) in FuncList" + :key="funcValue.id" + @click.stop="handleFuncClick(funcIndex)" + > + <img + :src="funcValue.src" + :class="{ active: curFuncIndex == funcIndex }" + /> + <span :class="{ spanActive: curFuncIndex == funcIndex }">{{ + funcValue.name + }}</span> + </div> + </div> --> </div> <!-- <div class="yjsxt"> @@ -138,7 +152,15 @@ src: require("@/assets/img/layer/yxdt.png"), }, ], - sMapModelList: [], + sMapModelList: [ + { + id: "swmx", + name: "涓夌淮妯″瀷", + active: false, + type: "san", + src: require("@/assets/img/layer/swmx.png"), + }, + ], areaTypeList: [ { id: "瑙勫垝鑼冨洿", @@ -195,7 +217,7 @@ ], zhuantiList: ZTTitem, //curMapModelIndex: 1, - curEMapModelIndex: 1, + curEMapModelIndex: 0, curSMapModelIndex: -1, curAreaTypeIndex: -1, curYjIndex: -1, @@ -228,32 +250,32 @@ window.Viewer.scene.screenSpaceCameraController.maximumZoomDistance = max; window.Viewer.scene.screenSpaceCameraController.enableTilt = enableTilt; }, - handleMapClick(result, index) { - const val = layers.filter((res) => { - if (res.name == result.name) { - return res; - } - }); - const children = val[0].children; - if (this.curMapModelIndex == index) { - clearLayerByTypeId(result.id); - this.curMapModelIndex = -1; - } else { - this.curMapModelIndex = index; - if (result.type == "er") { - clearLayerByTypeIdArr(["ewdt", "yxdt"]); - } else { - clearLayerByTypeIdArr(["3Dcs", "swmx"]); - } - // clearLayerByTypeIdArr(['ewdt', 'yxdt', '3Dcs', 'swmx']); - _GLOBAL.layers[result.id] = []; - children.forEach((item) => { - let itemLayer = loadLayer(item); - _GLOBAL.layers[result.id].push(itemLayer); - console.log(_GLOBAL.layers[result.id]); - }); - } - }, + // handleMapClick(result, index) { + // const val = layers.filter((res) => { + // if (res.name == result.name) { + // return res; + // } + // }); + // const children = val[0].children; + // if (this.curMapModelIndex == index) { + // clearLayerByTypeId(result.id); + // this.curMapModelIndex = -1; + // } else { + // this.curMapModelIndex = index; + // if (result.type == "er") { + // clearLayerByTypeIdArr(["ewdt", "yxdt"]); + // } else { + // clearLayerByTypeIdArr(["3Dcs", "swmx"]); + // } + // // clearLayerByTypeIdArr(['ewdt', 'yxdt', '3Dcs', 'swmx']); + // _GLOBAL.layers[result.id] = []; + // children.forEach((item) => { + // let itemLayer = loadLayer(item); + // _GLOBAL.layers[result.id].push(itemLayer); + // console.log(_GLOBAL.layers[result.id]); + // }); + // } + // }, // 浜岀淮搴曞浘閫夋嫨 handleEMapClick(result, index) { if (this.curEMapModelIndex == index) return; @@ -262,11 +284,11 @@ switch (result.name) { case "浜岀淮鍦板浘": loadGeoMap(); - loadBaseMap(); - addAnnotationLayer(); + // loadBaseMap(); + // addAnnotationLayer(); addHxLayer(); addYzLayer(); - window.mapapi.getView().setZoom(14); + // window.mapapi.getView().setZoom(14); break; case "褰卞儚鍦板浘": addImageLayer(); @@ -276,17 +298,23 @@ break; } }, + // 璺宠浆鍒颁笁缁� + show3d() { + store.setLayerPanelShow(false); + this.$router.push("/viewer3D"); + }, // 涓夌淮妯″瀷閫夋嫨 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); - } + // // 璁剧疆鐩告満 + // 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); + // } // 鍒囨崲鍥惧眰 + this.show3d(); const val = layers.filter((res) => { if (res.name == result.name) { return res; @@ -297,16 +325,16 @@ // clearLayerByTypeId(result.id); // this.curSMapModelIndex = -1; } else { - this.curEMapModelIndex = -1; - this.curSMapModelIndex = index; - clearLayerByTypeIdArr(["ewdt", "yxdt"]); - clearLayerByTypeIdArr(["3Dcs", "swmx"]); - _GLOBAL.layers[result.id] = []; - children.forEach((item) => { - let itemLayer = loadLayer(item); - _GLOBAL.layers[result.id].push(itemLayer); - console.log(_GLOBAL.layers[result.id]); - }); + // this.curEMapModelIndex = -1; + // this.curSMapModelIndex = index; + // clearLayerByTypeIdArr(["ewdt", "yxdt"]); + // clearLayerByTypeIdArr(["3Dcs", "swmx"]); + // _GLOBAL.layers[result.id] = []; + // children.forEach((item) => { + // let itemLayer = loadLayer(item); + // _GLOBAL.layers[result.id].push(itemLayer); + // console.log(_GLOBAL.layers[result.id]); + // }); } }, // 涓撻鍥鹃�夋嫨 @@ -403,6 +431,7 @@ window.mapapi.removeLayer(window.tdglLine); window.tdglLine = null; } + if (window.tdgllayer) { store.setSliderShow(false); window.mapapi.removeLayer(window.tdgllayer); @@ -429,7 +458,7 @@ url: "https://skyzt.bda.gov.cn/gisserver/wmsserver/chengshiguihua_dikuaibianhao", params: { VERSION: "1.1.1", - SRS: "EPSG:4326", + SRS: "EPSG:3857", FORMAT: "image/png", TILED: true, LAYERS: "", @@ -470,6 +499,7 @@ this.curFuncIndex = -1; store.setTdglFlag(false); store.setSliderShow(false); + window.mapapi.removeLayer(window.tdgllayer); store.setHistoryShow(true); break; } @@ -532,65 +562,113 @@ <style scoped> .layerPanel { width: 100%; + /* height: 396px; */ position: absolute; bottom: 0px; align-items: center; - padding: 0.1rem; - background: white; - z-index: 1000; - padding-left: 0.25rem; + /* padding: 0.1rem; */ + background: #ffffff; + /* z-index: 1000; */ + /* padding-left: 0.25rem; */ + border-radius: 15px 15px 0px 0px; +} +.mapMode { + width: 100%; + margin-top: 24px; + padding-left: 28px; } +@font-face { + font-family: "YouSheBiaoTiHei"; + src: url("../../../../static/YouSheBiaoTiHei.ttf"); +} .title { - height: 25px; - font-size: 16px; - font-family: Source Han Sans SC; - font-weight: 700; - color: #181818; - line-height: 25px; - margin: 10px 0px 10px 0; + width: 72px; + height: 14px; + font-family: "YouSheBiaoTiHei"; + font-weight: 400; + font-size: 19px; + color: #2e2e2e; + line-height: 15px; + margin-bottom: 18px; } - -.title2 { - height: 15px; -} - -.container { +.mapMode .container { display: flex; align-items: center; text-align: center; + flex-wrap: wrap; } .layerItem { /* font-size: 14px; */ - font-family: Source Han Sans SC; + font-family: "寰蒋闆呴粦"; font-weight: 400; - margin-right: 30px; cursor: pointer; + text-align: center; } - -.active { - color: #4187ff; - border: 2px solid #4187ff; +.mapMode .layerItem { + width: 0.8rem; + margin-right: 24px; +} +.mapMode img { + display: block; + width: 100%; + border-radius: 11px; + border: 1px dashed #127dff; + margin-bottom: 11px; +} +span { + font-family: "寰蒋闆呴粦"; + font-size: 0.12rem; + color: #6e6969; + line-height: 12px; +} +.mapMode .active, +.areaType .active { + color: #127dff; + border: 2px solid #127dff; border-radius: 10px; } .spanActive { - color: #4187ff; + color: #127dff; +} +.areaType { + width: 100%; + margin-top: 30px; } -img { +.areaType .ZTtitle { + margin-left: 28px; + margin-bottom: 3px; +} +.areaType .container { + margin-top: 18px; + padding: 0 4%; + display: grid; + justify-items: center; + grid-template-columns: repeat(4, 1fr); + overflow: hidden; +} +.areaType .layerItem { + margin-bottom: 15px; +} + +.areaType img { + margin: 0 auto; + /* background-color: green; */ display: block; - width: 60px; - height: 40px; - margin-bottom: 5px; + width: 0.5rem; + border-radius: 11px; + box-shadow: 0 0 5px 5px rgb(196 222 236 / 30%); + margin-bottom: 11px; } .more { float: right; margin-right: 20px; font-size: 0.12rem; - color: #4187ff; + color: #127dff; line-height: 25px; font-weight: 500; font-family: unset; -- Gitblit v1.9.3