From ec065c84d7ee0b7e05efe9b991b528f6a5feb5a0 Mon Sep 17 00:00:00 2001 From: lixuliang <lixuliang_hd@126.com> Date: 星期三, 06 三月 2024 18:10:43 +0800 Subject: [PATCH] 修改 --- src/components/rightMenu/bottom2.vue | 236 +++++++++++++++++++++------------------------------------- 1 files changed, 85 insertions(+), 151 deletions(-) diff --git a/src/components/rightMenu/bottom2.vue b/src/components/rightMenu/bottom2.vue index a8f7553..85a6458 100644 --- a/src/components/rightMenu/bottom2.vue +++ b/src/components/rightMenu/bottom2.vue @@ -1,182 +1,104 @@ <template> - <div class="bottom" id="bottom"> - <div class="mapTools" v-show="show"> - <div class="mapTool" v-show="test.fwval"> - <el-button class="tool-rotate" @click="zoomIn" title="鏀惧ぇ"> - <img src="../../../static/img/image/zoomIn.png" /> - </el-button> + <div class="bottom" id="bottom" :style="customStyle" v-if="state1.show"> + <!-- <div class="mapTool"> + <div class="tool-rotate" @click="PointingNorth" title="鎸囧寳"> + <img src="@/assets/img/collection/compass.png" /> </div> - <div class="mapTool" v-show="test.fwval"> - <el-button class="tool-rotate" @click="zoomOut" title="缂╁皬"> - <img src="../../../static/img/image/zoomOut.png" /> - </el-button> + </div> --> + <div class="mapTool"> + <div class="tool-rotate" @click="flyBack" title="澶嶄綅"> + <img src="@/assets/img/collection/recover.png" /> + </div> + </div> + <div class="mapTool2" v-show="test.fwval"> + <div class="tool-rotate" @click="zoomIn" title="鏀惧ぇ"> + <img src="@/assets/img/collection/add.png" /> + </div> + <div class="border"></div> + <div class="tool-rotate" @click="zoomOut" title="缂╁皬"> + <img src="@/assets/img/collection/reduce.png" /> </div> </div> </div> </template> <style scoped> -.bottom { - position: absolute; - bottom: 0.4rem; - height: 0.76rem; - right: 0.4rem; -} -.mapModeControl { - position: absolute; - right: 0.05rem; - background: rgba(90, 90, 90, 0.5); - bottom: 0.05rem; - height: 0.76rem; - width: 1.03rem; - transition: all 1s; -} -.bottom .mapModeControl:hover { - transition: all 0.6s; - -webkit-transition: all 0.6s; - width: 3.2rem; -} -.mapMode { - display: inline-block; -} -.mapMode dl { - width: 0.88rem; - height: 0.6rem; - border: 1px solid #494949; - cursor: pointer; - margin: 0.08rem; -} - -.mapMode dl:hover { - border-color: #0553b4; -} - -.mapMode dl { - position: relative; -} -#history { - background: url(../../../static/img/1.png) no-repeat; -} -#mode-3d { - background: url(../../../static/img/2.png) no-repeat; -} -#mode-2d { - background: url(../../../static/img/4.png) no-repeat; -} -.mapMode dt { - width: 100%; - height: 0.2rem; - line-height: 0.2rem; - position: absolute; - left: 0; - bottom: 0px; - font-size: 0.12rem; - text-align: center; - color: #fff; - text-shadow: 1px 1px 2px #000; - background: rgba(0, 0, 0, 0.5); -} -.mapModeActive { - background: rgba(1, 37, 80, 0.5) !important; -} - -.mapTools { - position: absolute; - /* bottom: 2rem; */ - bottom: 0.2rem; - /* right: 0.1rem; */ -} .mapTool { - margin: 0.1rem 0; + width: 51px; + /* border-radius: 10px; */ + /* background: #ffffff; */ + /* margin-bottom: 8px; */ } -.mapTool .el-button { - padding: 0 !important; - font-size: 0.24rem; - border: unset; - float: unset; - display: block; - background: rgba(18, 126, 255, 1); +.mapTool .tool-rotate img { + width: 100%; +} +.mapTool2 { + width: 40px; + height: 80px; + margin: 0 auto; + background: #ffffff; + box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.21); + border-radius: 13px; + display: flex; + flex-direction: column; + justify-content: space-evenly; + align-items: center; +} +.mapTool2 .tool-rotate img { + width: 18px; +} +.border { + width: 36px; + height: 1px; + border: 1px solid #e5e5e5; } -/* .button-group-vertical { - text-align: center; - position: relative; +/* .tool-rotate { + padding: 8px; } */ -.fgx { - position: absolute; - width: 80%; - height: 1px; - height: 1px; - border: 1px solid #dcdfe6; - z-index: 999; - margin: 0 10%; -} -/* .button-group-vertical .el-button-group > .el-button:first-child { - border-top-right-radius: 0.04rem !important; - border-bottom-left-radius: 0px !important; -} -.button-group-vertical .el-button-group > .el-button:last-child { - border-top-right-radius: 0; - border-bottom-left-radius: 0.04rem !important; -} */ -.mapTool img { - width: 24px; - margin: 3px; - /* height: 0.4rem; */ -} </style> <script> import Bus from "../../js/bus.js"; +import store from "@/utils/store2"; export default { props: ["test"], data() { return { - show: true, - parentdata: { - fwval: false, - zbzval: false, - qpval: false, - zymlval: false, - kjcxval: false, - dxmsval: false, - snmsval: false, - ssval: false, + state1: store.mapTools, + state: store.layerPanel, + customStyle: { + position: "absolute", + bottom: "0.4rem", + right: "0.1rem", }, - clickIndex: 0, - // isShowHistory: false, - camera: { - position: [116.52217697339846, 39.75979421847914, 17045.47005612415], - orientation: { - heading: 0, - pitch: -90, - roll: 0, - }, - }, - modes: [ - { - id: "mode-3d", - name: "3D", - mode: 3, - }, - { - id: "mode-2d", - name: "2D", - mode: 2, - }, - ], }; }, - mounted() { - Bus.$on("myMsg", (myMsg) => { - this.show = myMsg; - }); + mounted() {}, + watch: { + "state.show": { + handler(newVal) { + if (newVal) { + this.customStyle = { + position: "absolute", + top: "calc(0.75rem + 51px)", + right: "0.1rem", + }; + } else { + this.customStyle = { + position: "absolute", + bottom: "0.4rem", + right: "0.1rem", + }; + } + }, + immediate: true, + }, }, methods: { zoomIn() { const view = window.mapapi.getView(); const zoom = view.getZoom(); - window.mapapi.getView().animate({ // 鍙缃渶瑕佺殑灞炴�у嵆鍙� center: window.mapapi.getView().getCenter(), // 涓績鐐� @@ -188,7 +110,6 @@ zoomOut() { const view = window.mapapi.getView(); const zoom = view.getZoom(); - window.mapapi.getView().animate({ // 鍙缃渶瑕佺殑灞炴�у嵆鍙� center: window.mapapi.getView().getCenter(), // 涓績鐐� @@ -197,6 +118,19 @@ duration: 1000, // 缂╂斁鎸佺画鏃堕棿锛岄粯璁や笉闇�瑕佽缃� }); }, + flyBack() { + window.mapapi.getView().animate({ + // 鍙缃渶瑕佺殑灞炴�у嵆鍙� + center: [116.52217697339846, 39.75979421847914], // 涓績鐐� + zoom: 12, // 缂╂斁绾у埆 + rotation: undefined, // 缂╂斁瀹屾垚view瑙嗗浘鏃嬭浆寮у害 + duration: 1000, // 缂╂斁鎸佺画鏃堕棿锛岄粯璁や笉闇�瑕佽缃� + }); + }, + PointingNorth() { + alert("鎸囧寳閽堝紑鍙戜腑"); + // console.log("鎸囧寳閽堝紑鍙戜腑") + }, }, }; </script> \ No newline at end of file -- Gitblit v1.9.3