From d91f0dfcd2ef95fb3624d94ade24fe69a9169a58 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期日, 04 二月 2024 15:15:00 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.20.92:8888/r/P2022036_Web2 --- src/components/mapol.vue | 215 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 174 insertions(+), 41 deletions(-) diff --git a/src/components/mapol.vue b/src/components/mapol.vue index 1a78887..56a3a30 100644 --- a/src/components/mapol.vue +++ b/src/components/mapol.vue @@ -1,17 +1,67 @@ <template> <div id="mapol"> - <div - @click="changeMenulayer" - class="center CenDiv" - :class="{ center1: centerFlag }" - > + <div style="display: flex"> <div - id="cenBg" - v-bind:class="{ active: isActive, menuLayer: isMenuLayer }" - ></div> + @click="changeMenulayer" + class="changeLayer" + style=" position: absolute; + bottom: 84px; + right: 46px; + height: 30px; + width: 30px; + z-index: 101; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + border: 1px solid rgba(255, 255, 255, 0.5);" + > + <div + title="搴曞浘鍒囨崲" + id="cenBg" + class="mapBaseMap" + ></div> + </div> + <div + @click="changeMapType" + class="changeMapType" + v-if="$store.state.setChangeBaseMap" + style=" position: absolute; + + bottom: 52px; + right: 46px; + height: 30px; + width: 30px; + z-index: 101; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + border: 1px solid rgba(255, 255, 255, 0.5);" + > + <div + title="2/3缁村垏鎹�" + id="cenBg" + :class="show2DMap ? 'mapTypeTwo' : 'mapTypeThree'" + ></div> + </div> </div> - <div v-show="$store.state.isNaviget" class="sindagis-map-compass"> + <!-- <div--> + <!-- @click="changeMenulayer"--> + <!-- class="center CenDiv"--> + <!-- :class="{ center1: centerFlag }"--> + <!-- >--> + <!-- <div--> + <!-- id="cenBg"--> + <!-- v-bind:class="{ active: isActive, menuLayer: isMenuLayer }"--> + <!-- ></div>--> + + <!-- </div>--> + <div + class="sindagis-map-compass" + style=" bottom: 130px; right: 40px;" + > <span class="left" @click="leftClick" @@ -57,42 +107,80 @@ isActive: true, isMenuLayer: false, rotate: 0, - currentDir: '' + currentDir: '', + show2DMap: false, } }, mounted() { - this.init2DMap() + this.init2DMap(); + this.$bus.$on('changemapType', (e) => { + this.show2DMap = e; + }); }, methods: { + init2DMap() { - var vectorLayer = new TileLayer({ - source: new XYZ({ - url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}", - }), - }) - var imageLayer = new TileLayer({ - source: new XYZ({ - url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}", - }), - }) + var layerBase = []; + // if (!is_production) { + // var vectorLayer = new TileLayer({ + // source: new XYZ({ + // url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}", + // }), + // }) + // var imageLayer = new TileLayer({ + // source: new XYZ({ + // url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}", + // }), + // }) + // layerBase = [vectorLayer, imageLayer] + // } window.map = new Map({ target: "mapol", - layers: [imageLayer, vectorLayer], + // layers: layerBase, view: new View({ - center: transform([105.02, 34.9], "EPSG:4326", "EPSG:3857"), + center: [105.02, 34.9], zoom: 4, - projection: "EPSG:3857", + projection: "EPSG:4326", + minZoom: 5, }), controls: defaultControls().extend([ new FullScreen(), - + ]), interactions: defaultInteractions().extend([new DragRotateAndZoom()]), }) - // var scaleLine = new ScaleLine({ - // units: "metric" - // }); - // map.addControl(scaleLine); + + + if (is_production) { + var base_ulr = window.sceneConfig.baseUrl; + if (base_ulr.indexOf('{host}') > -1) { + base_ulr = base_ulr.replace("{host}", iisHost) + } + window.olBaseMapLayer = new TileLayer({ + title: "楂樺痉鍦板浘", + source: new XYZ({ + url: base_ulr, + wrapX: false + }) + }); + window.map.addLayer(window.olBaseMapLayer); + } else { + window.olBaseMapLayer = new TileLayer({ + source: new XYZ({ + url: "http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=6&x={x}&y={y}&z={z}", + }), + }) + window.map.addLayer(window.olBaseMapLayer); + } + + + + + + var scaleLine = new ScaleLine({ + units: "metric" + }); + map.addControl(scaleLine); map.on("moveend", function (e) { console.log(($(window).width() - $(".ol-scale-line-inner").width()) + "px"); @@ -101,10 +189,26 @@ }, + //浜岀淮/涓夌淮鍦板浘鍒囨崲 + changeMapType() { + // + this.show2DMap = !this.show2DMap; + //浜岀淮 + if (this.show2DMap) { + this.$bus.$emit("changemap", 2); + } + //涓夌淮 + else { + this.$bus.$emit("changemap", 3); + } + this.$bus.$emit("changemapType", this.show2DMap); + }, + changeMenulayer() { - this.isActive = !this.isActive - this.isMenuLayer = !this.isMenuLayer - this.setLayerVisible() + this.$bus.$emit("setChangeBaseMapLayer", {type:'ol',boolen:true}) + // this.isActive = !this.isActive + // this.isMenuLayer = !this.isMenuLayer + // this.setLayerVisible() }, setLayerVisible() { if (this.isActive == true) { @@ -183,8 +287,8 @@ display: flex; flex-direction: column; justify-content: space-between; - box-shadow: 3px 3px 6px #666; - border: 1px solid rgba(204, 204, 204, 0.76); + // box-shadow: 3px 3px 6px #666; + // border: 1px solid rgba(204, 204, 204, 0.76); border-radius: 5px; cursor: pointer; } @@ -202,9 +306,9 @@ flex-direction: column; justify-content: space-between; } -.CenDiv:hover { - border: 1px solid #409eff; -} +// .CenDiv:hover { +// border: 1px solid #409eff; +// } .active { width: 100%; height: 100%; @@ -223,14 +327,13 @@ } .ol-scale-line { bottom: 55px !important; + right: 130px !important; } .sindagis-map-compass { position: absolute; - right: 50px; - bottom: 90px; + z-index: 5; - right: 25px; width: 52px; height: 54px; background: url("../assets/img/compass.png") 0% 0% / 266px no-repeat; @@ -280,5 +383,35 @@ .sindagis-map-compass .right:hover { background: url("../assets/img/compass.png") -89px -5px / 266px no-repeat; } - +.mapBaseMap { + width: 100%; + height: 100%; + //margin-left: 10px; + background-image: url("../assets/img/basemap.png"); + //background-image: url("../assets/img/synthesis/搴曞浘.png"); + background-repeat: no-repeat; + background-size: contain; +} +.changeMapType { +} +.mapTypeTwo { + width: 100%; + height: 100%; + //margin-left: 10px; + background-image: url("../assets/img/3D.png"); + //background-image: url("../assets/img/synthesis/3D.png"); + background-repeat: no-repeat; + background-size: contain; +} +.mapTypeThree { + width: 100%; + height: 100%; + //margin-left: 10px; + background-image: url("../assets/img/2D.png"); + //background-image: url("../assets/img/synthesis/2D 鎷疯礉 2.png"); + background-repeat: no-repeat; + background-size: contain; +} +.changeLayer { +} </style> -- Gitblit v1.9.3