| | |
| | | /* 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> |
| | | 哈工大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">去这</el-link> |
| | | </div> |
| | | </div> |
| | | <mobileWindow></mobileWindow> |
| | | <!-- 地图图标弹窗↑ --> |
| | | <!-- 控制↓ --> |
| | | <mobileLeftNav ref="mobileLeftNav"></mobileLeftNav> |
| | | <mobileCortrol ref="mobileCortrol"></mobileCortrol> |
| | | <mobileCortrolButtom ref="mobileCortrolButtom"></mobileCortrolButtom> |
| | | <mobileCortrolSearch ref="mobileCortrolSearch"></mobileCortrolSearch> |
| | | <!-- 控制↑ --> |
| | | <!-- 控制大弹窗的弹窗 --> |
| | | <mobilePopupOurAfter v-if="mBigPopupAfter"></mobilePopupOurAfter> |
| | | <!-- 大弹窗 --> |
| | | <mobilePopupOur :style="[bigPopup]" v-if="mBigPopup"></mobilePopupOur> |
| | | <!-- 测试-跳转位置 --> |
| | | <mobileGoTo></mobileGoTo> |
| | | <!-- 实景窗口 --> |
| | | <mobilePanorama></mobilePanorama> |
| | | </div> |
| | | </template> |
| | | <script> |
| | | import { mapGetters } from "vuex"; |
| | | |
| | | export default { |
| | | name: "mobilemapBox", |
| | | data() { |
| | | return { |
| | | 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, |
| | | DC: "", |
| | | bigPopup: { |
| | | width: 0, |
| | | height: 0, |
| | | // transition: "all 3s", |
| | | }, |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapGetters(["mviewer"]), |
| | | ...mapGetters([ |
| | | "mviewer", |
| | | "MobileWindowsHide", |
| | | "mBigPopup", |
| | | "mBigPopupAfter", |
| | | "iconHide", |
| | | "popupsDom", |
| | | ]), |
| | | }, |
| | | watch: { |
| | | mBigPopup() { |
| | | if (this.mBigPopup) { |
| | | this.bigPopup.width = "100%"; |
| | | this.bigPopup.height = "100%"; |
| | | this.bigPopup.display = "inline-block"; |
| | | } else { |
| | | this.bigPopup.width = "0"; |
| | | this.bigPopup.height = "0"; |
| | | this.bigPopup.display = "none"; |
| | | } |
| | | }, |
| | | }, |
| | | mounted() { |
| | | var DC = global.DC; |
| | | this.DC = DC; |
| | | |
| | | var that = this; |
| | | |
| | |
| | | }); |
| | | that.$refs.mobileLeftNav.initialize(viewer); |
| | | that.$store.commit("MSET_VIEWER", viewer); |
| | | that.$store.commit("MSET_DC", DC); |
| | | const popup = viewer.popup; |
| | | |
| | | popup.hide(); |
| | |
| | | name: "影像", |
| | | }); |
| | | |
| | | // // 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", |
| | | // }); |
| | |
| | | // iconUrl: "examples/images/icon/ter.png", |
| | | // name: "地形", |
| | | // }); |
| | | |
| | | // 地图移动事件 |
| | | viewer.on(DC.MouseEventType.MOUSE_MOVE, (e) => { |
| | | if (!that.iconHide) { |
| | | that.$store.commit("MSET_ICONHIDE", true); |
| | | } |
| | | that.$store.dispatch("closeMobileWindowsDom"); //关闭弹窗 |
| | | // 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); |
| | |
| | | |
| | | tileset.on(DC.MouseEventType.CLICK, (e) => { |
| | | // that.popupFlag = true |
| | | that.popupWindow = true; |
| | | // that.popupWindow = true; |
| | | |
| | | viewer.scene.globe.depthTestAgainstTerrain = false; |
| | | |
| | | // console.log(document.getElementById("mobile-map_content_content")); |
| | | console.log(e.position); |
| | | console.log(e); |
| | | |
| | | // 定制化窗体 |
| | | var divForms = new DC.mobileDivForms(viewer, { |
| | | domId: "mobilePopup", |
| | | title: "成教楼 ", |
| | | className: "mobilePopup", |
| | | content: document.getElementById("mobile-map_content_content"), |
| | | position: [e.position], |
| | | }); |
| | | viewer.zoomToPosition( |
| | | new DC.Position( |
| | | e.wgs84Position.lng, |
| | | e.wgs84Position.lat - 0.016, |
| | | 2030, |
| | | 0, |
| | | -45 |
| | | ) |
| | | ); |
| | | that.openPopupS(e.position, [e.wgs84Position.lng, e.wgs84Position.lat]); |
| | | |
| | | // popup.setWrapper('<div></div>') |
| | | |
| | | // popup.showAt(e.position, document.getElementById('modelPopup')) |
| | |
| | | // ) |
| | | |
| | | viewer.compass.enable = false; |
| | | viewer.zoomController.enable = false; |
| | | viewer.zoomController.enable = true; |
| | | viewer.locationBar.enable = false; |
| | | viewer.distanceLegend.enable = true; |
| | | } |
| | |
| | | DC.ready(initViewer); |
| | | }, |
| | | methods: { |
| | | mobileOpenImgs() { |
| | | let imgsDom = document.getElementById("mobileBigImgs"); |
| | | imgsDom.click(); |
| | | openPopupS(position, lntLat, query) { |
| | | let that = this; |
| | | // 定制化窗体 |
| | | let d = { |
| | | position, |
| | | lntLat, |
| | | query: { ...(query || {}), position, lntLat }, |
| | | useJWD: true, //仅使用经纬度 |
| | | }; |
| | | that.$store.dispatch("setMobileWindows", d); |
| | | }, |
| | | }, |
| | | }; |