From 81773ab04fd259e893c2d7f08dbdc9be772d01c4 Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 21 Dec 2021 17:18:45 +0800
Subject: [PATCH] +,请求数据,弹框显示,优化代码长度
---
src/components/mobilemap/index.vue | 179 ++++++++++++++++-------------------------------------------
1 files changed, 48 insertions(+), 131 deletions(-)
diff --git a/src/components/mobilemap/index.vue b/src/components/mobilemap/index.vue
index f666086..7309ca1 100644
--- a/src/components/mobilemap/index.vue
+++ b/src/components/mobilemap/index.vue
@@ -1,36 +1,11 @@
/* eslint-disable camelcase */
<template>
<div id="mobile-viewer-container">
- <!-- 地图图标弹窗↓ -->
+ <!-- 随地图改变图标弹窗↓ -->
<div id="mobile-map_popup_content"></div>
- <div
- ref="mobile-mapContentContent"
- v-show="popupWindow"
- id="mobile-map_content_content"
- >
- <div class="mobile-popup-imgs-heard">
- <img :src="url" alt="" />
- <el-image
- style="width: 100px; height: 100px"
- :src="url"
- id="mobileBigImgs"
- v-show="false"
- :preview-src-list="srcList"
- >
- </el-image>
- <div>坐标 {{ positions }}</div>
- 哈工大A10公寫总建筑面积30740平方米,于2001年采用货款方式高标准建造并投入使用。整个楼体共分十层,地上九层为公寫主体。公寓外观呈工字型,公寓内房司以A、B、C三个区域別分,与哈工大雄厚的工科底蕴遥相呼应,是哈尔滨工业大学学生公寫的标志性建筑
- </div>
- <div class="mobile-popup-control">
- <el-link icon="el-icon-picture-outline-round" @click="mobileOpenImgs"
- >图集</el-link
- >
- <el-divider direction="vertical"></el-divider>
- <el-link icon="el-icon-map-location">实景</el-link>
- <el-divider direction="vertical"></el-divider>
- <el-link icon="el-icon-aim" @click="goOn">去这</el-link>
- </div>
- </div>
+ <mobileWindow></mobileWindow>
+ <!-- 地图固定弹窗 -->
+ <mobileWindowFixed></mobileWindowFixed>
<!-- 地图图标弹窗↑ -->
<!-- 控制↓ -->
<mobileLeftNav ref="mobileLeftNav"></mobileLeftNav>
@@ -42,34 +17,36 @@
<mobilePopupOurAfter v-if="mBigPopupAfter"></mobilePopupOurAfter>
<!-- 大弹窗 -->
<mobilePopupOur :style="[bigPopup]" v-if="mBigPopup"></mobilePopupOur>
+ <!-- 测试-跳转位置 -->
+ <mobileGoTo></mobileGoTo>
+ <!-- 实景窗口 -->
+ <mobilePanorama></mobilePanorama>
</div>
</template>
<script>
import { mapGetters } from "vuex";
-import { location } from "../../position/position";
export default {
name: "mobilemapBox",
data() {
return {
DC: "",
- popupsDom: "",
- positions: "",
- url: "/img/job/one.jpg",
- srcList: [
- "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
- "https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg",
- ],
- popupFlag: false,
- popupWindow: false,
bigPopup: {
width: 0,
height: 0,
- transition: "all 3s",
+ // transition: "all 3s",
},
};
},
computed: {
- ...mapGetters(["mviewer", "mBigPopup", "mBigPopupAfter"]),
+ ...mapGetters([
+ "mviewer",
+ "MobileWindowsHide",
+ "mBigPopup",
+ "mBigPopupAfter",
+ "iconHide",
+ "popupsDom",
+ "MobileWindowsHideFixed",
+ ]),
},
watch: {
mBigPopup() {
@@ -161,6 +138,7 @@
});
that.$refs.mobileLeftNav.initialize(viewer);
that.$store.commit("MSET_VIEWER", viewer);
+ // that.$store.commit("MSET_DC", DC);
const popup = viewer.popup;
popup.hide();
@@ -172,18 +150,8 @@
iconUrl: "examples/images/icon/img.png",
name: "影像",
});
- // let nowPosition = "";
- // 地图移动事件
- // viewer.on(DC.MouseEventType.MOUSE_MOVE, (e) => {
- // if (that.popupWindow && that.popupsDom) {
- // that.popupsDom.closeOur();
- // that.popupWindow = false;
- // }
- // // nowPosition = [e.wgs84Position.lng, e.wgs84Position.lat];
- // // console.log(nowPosition);
- // });
- // // eslint-disable-next-line camelcase
+ // eslint-disable-next-line camelcase
// const baselayer_shaded = DC.ImageryLayerFactory.createArcGisImageryLayer({
// url: "http://services.arcgisonline.com/arcgis/rest/services/World_Shaded_Relief/MapServer",
// });
@@ -209,6 +177,25 @@
// iconUrl: "examples/images/icon/ter.png",
// name: "地形",
// });
+
+ // 地图移动事件
+ viewer.on(DC.MouseEventType.MOUSE_MOVE, (e) => {
+ if (!that.iconHide) {
+ that.$store.commit("MSET_ICONHIDE", true);
+ }
+ if (!that.MobileWindowsHide) {
+ // that.$store.dispatch("closeMobileWindowsDom"); //关闭随地图弹窗
+ }
+ // if (!that.MobileWindowsHideFixed) {
+ // that.$store.dispatch("CLOSE_WIDOWFIXED"); //关闭固定弹窗
+ // }
+ // if (!that.MobileWindowsHide && that.popupsDom) {
+ // that.popupsDom.closeOur();
+ // that.$store.commit("MSET_MOBILEWINDOWSHIDE", true);
+ // }
+ // nowPosition = [e.wgs84Position.lng, e.wgs84Position.lat];
+ // console.log(nowPosition);
+ });
const layer = new DC.TilesetLayer("layer");
viewer.addLayer(layer);
@@ -242,36 +229,11 @@
viewer.scene.globe.depthTestAgainstTerrain = false;
// console.log(document.getElementById("mobile-map_content_content"));
- // console.log(e.position);
+ // console.log(e);
// 定制化窗体
that.openPopupS(e.position, [e.wgs84Position.lng, e.wgs84Position.lat]);
- // that.popupsDom = new DC.mobileDivForms(viewer, {
- // domId: "mobilePopup",
- // title: "成教楼 ",
- // className: "mobilePopup",
- // content: document.getElementById("mobile-map_content_content"),
- // position: [e.position],
- // });
- // console.log(e.position);
- // that.positions = [e.wgs84Position.lng, e.wgs84Position.lat];
- // // let flying = new DC.Flying(viewer);
- // // flying.positions = [
- // // `${nowPosition[0]},${nowPosition[0]},0,-29`,
- // // `${e.wgs84Position.lng},${e.wgs84Position.lat},0,-29`,
- // // ];
- // // flying.start();
- // console.log(e.wgs84Position.lng, e.wgs84Position.lat);
- // viewer.zoomToPosition(
- // new DC.Position(
- // e.wgs84Position.lng,
- // e.wgs84Position.lat - 0.012,
- // 1530,
- // 0,
- // -45
- // )
- // );
// popup.setWrapper('<div></div>')
// popup.showAt(e.position, document.getElementById('modelPopup'))
@@ -290,61 +252,16 @@
DC.ready(initViewer);
},
methods: {
- openPopupS(position, lntLat) {
+ openPopupS(position, lntLat, query) {
let that = this;
// 定制化窗体
- that.popupsDom = new that.DC.mobileDivForms(that.mviewer, {
- domId: "mobilePopup",
- title: "成教楼 ",
- className: "mobilePopup",
- content: document.getElementById("mobile-map_content_content"),
- position: [position],
- });
- that.positions = lntLat;
- that.popupWindow = true;
- // let flying = new DC.Flying(viewer);
- // flying.positions = [
- // `${nowPosition[0]},${nowPosition[0]},0,-29`,
- // `${e.wgs84Position.lng},${e.wgs84Position.lat},0,-29`,
- // ];
- // flying.start();
- // console.log(e.wgs84Position.lng, e.wgs84Position.lat);
- that.mviewer.zoomToPosition(
- new that.DC.Position(lntLat[0], lntLat[1] - 0.012, 1530, 0, -45)
- );
- },
- mobileOpenImgs() {
- let imgsDom = document.getElementById("mobileBigImgs");
- imgsDom.click();
- },
- goOn() {
- // if (navigator.geolocation) {
- // navigator.geolocation.watchPosition(backPoint);
- // }
- // function backPoint(res) {
- // console.log(res);
- // let position = [res.coords.longitude, res.coords.latitude];
- // console.log(position);
- // }
- // this.getLocation();
- // location((res) => {
- // console.log(res);
- // alert(res.message);
- // });
- // console.log(returnCitySN["cip"]);
- },
- getLocation() {
- // let _that = this;
- // let geolocation = location.initMap("map-container"); //定位
- // AMap.event.addListener(geolocation, "complete", (result) => {
- // console.log(result);
- // // console.log("hhha");
- // // _that.lat = result.position.lat;
- // // _that.lng = result.position.lng;
- // // _that.province = result.addressComponent.province;
- // // _that.city = result.addressComponent.city;
- // // _that.district = result.addressComponent.district;
- // });
+ let d = {
+ position,
+ lntLat,
+ query: { ...(query || {}), introduce: position, address: lntLat },
+ useJWD: true, //仅使用经纬度
+ };
+ that.$store.dispatch("setMobileWindows", d);
},
},
};
--
Gitblit v1.9.3