[历史影像]删除之前二维地图,叠加beijing54地图
| | |
| | | <img class="searchBtn" src="@/assets/img/right/closeinput1.png" /> |
| | | </el-button> |
| | | </div> |
| | | <History /> |
| | | |
| | | </div> |
| | | <viewer1 |
| | | class="mapViewer" |
| | | v-if="viewer1Show" |
| | | :style="viewer1Style" |
| | | @mousemove.native="viewer1MouseMove" |
| | | /> |
| | | <viewer |
| | | class="mapViewer" |
| | | :style="viewerStyle" |
| | | @mousemove.native="viewerMouseMove" |
| | | /> |
| | | <div |
| | | class="controlPanel" |
| | | :style="{ |
| | | <viewer1 class="mapViewer" :key="switchKey" v-if="viewer1Show" :style="viewer1Style" |
| | | @mousemove.native="viewer1MouseMove" /> |
| | | <viewer class="mapViewer" ref="mapViewer" :style="viewerStyle" @mousemove.native="viewerMouseMove" /> |
| | | <div class="controlPanel" :style="{ |
| | | width: `${size}`, |
| | | height: `${size}`, |
| | | transform: `scale(${scale}) translate(${offset},${offset})`, |
| | |
| | | '-moz-transform': `scale(${scale}) translate(${offset},${offset})`, |
| | | '-o-transform': `scale(${scale}) translate(${offset},${offset})`, |
| | | '-ms-transform': `scale(${scale}) translate(${offset},${offset})`, |
| | | }" |
| | | > |
| | | }"> |
| | | <img @click="changePwd" id="headlog" src="@/assets/img/new/topBar.png" /> |
| | | <img id="bottomBar" src="@/assets/img/new/bottomBar.png" /> |
| | | <!-- <el-slider |
| | |
| | | |
| | | import bottommenu from "@/components/menu/bottom-menu"; |
| | | import { mapState, mapMutations } from "vuex"; |
| | | import History from "@/components/map/history.vue"; |
| | | |
| | | export default { |
| | | name: "index", |
| | |
| | | offset: "0%", |
| | | tooltipInfo: "请稍后。。。", |
| | | tooltipShow: false, |
| | | switchKey: 0, |
| | | // viewer1Show: false, |
| | | }; |
| | | }, |
| | |
| | | this.size = size + "%"; |
| | | }, |
| | | computed: { |
| | | ...mapState(["viewer1Show", "yqfk"]), |
| | | ...mapState(["viewer1Show", "isLand", "yqfk"]), |
| | | showSetting() { |
| | | return this.$store.state.showSetting; |
| | | }, |
| | |
| | | }, |
| | | changePwd() { |
| | | console.log(111); |
| | | }, |
| | | changeMode(mode){ |
| | | this.$refs.mapViewer.changeMode(mode); |
| | | }, |
| | | detectZoom() { |
| | | var ratio = 0, |
| | |
| | | .mapViewer { |
| | | height: 100%; |
| | | } |
| | | |
| | | .userinfo { |
| | | position: absolute; |
| | | z-index: 20; |
| | | top: 10px; |
| | | } |
| | | |
| | | #headlog { |
| | | width: 965px; |
| | | height: 70px; |
| | |
| | | top: 0; |
| | | transform: translate(-50%, 0); |
| | | } |
| | | |
| | | #bottomBar { |
| | | width: 1357px; |
| | | height: 52px; |
| | |
| | | bottom: 0; |
| | | transform: translate(-50%, 0); |
| | | } |
| | | |
| | | .trigger { |
| | | pointer-events: all; |
| | | } |
| | |
| | | border-radius: 10px; |
| | | padding: 10px 30px; |
| | | } |
| | | |
| | | .hisbox { |
| | | position: absolute; |
| | | z-index: 10000002; |
| | |
| | | height: 100%; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .btnbox { |
| | | position: absolute; |
| | | z-index: 100000003; |
| | | right: 30px; |
| | | } |
| | | |
| | | .btnbox .el-button { |
| | | padding: 0 !important; |
| | | font-size: 24px; |
| | |
| | | height: 30px; |
| | | cursor: pointer; |
| | | text-align: center; |
| | | z-index: 999999; |
| | | z-index: 999; |
| | | color: white; |
| | | } |
| | | .treeContainer { |
| | |
| | | <template> |
| | | <div> |
| | | <div id="sdkContainer"></div> |
| | | <div class="listBox" v-show="viewer1Show && !isLand"> |
| | | <ul> |
| | | <li v-for="(item, index) in arr" :key="index" @click="changeLeftMap($event, item, index)"> |
| | | {{ item }} |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <layerTreeTwoScreen v-if="layerTreeTwoScreen" /> |
| | | <!-- <div id="bottomInfo" v-html="bottomInfo"></div> --> |
| | | <div id="switchImagerLayer" :style="{ |
| | |
| | | }"> |
| | | <transition name="animate__animated animate__bounce" @click="switchImagerLayerShowOrHide" |
| | | enter-active-class="animate__backInRight" leave-active-class="animate__backOutRight" appear> |
| | | <switchImagerLayer v-show="switchImagerLayer" /> |
| | | <switchImagerLayer ref="switchImagerLayer" v-show="switchImagerLayer" /> |
| | | </transition> |
| | | |
| | | <img class="swichImg" @click="switchImagerLayerShowOrHide" :src="switchImage" /> |
| | |
| | | import jiejing from "@/assets/img/new/jiejing.png"; |
| | | import "animate.css"; |
| | | import Bus from "@tools/Bus"; |
| | | |
| | | let activeLi, nLayer; |
| | | export default { |
| | | name: "viewer", |
| | | components: { |
| | |
| | | scale: "1", |
| | | offset: "0%", |
| | | radio: 3, |
| | | arr: [ |
| | | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, |
| | | 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, |
| | | ], |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState(["layerTreeTwoScreen", "cesiumInit"]), |
| | | ...mapState(["viewer1Show", "isLand", "layerTreeTwoScreen", "cesiumInit"]), |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(function () { |
| | |
| | | window.sgworld = new SmartEarth.EarthCtrl( |
| | | "sdkContainer", |
| | | { |
| | | // StaticFileBaseUrl: "../../../static/CimSDK/", |
| | | StaticFileBaseUrl: "../../../YZXNCS/static/CimSDK/", |
| | | StaticFileBaseUrl: "../../../static/CimSDK/", |
| | | // StaticFileBaseUrl: "../../../YZXNCS/static/CimSDK/", |
| | | }, |
| | | {}, |
| | | {}, |
| | |
| | | return ratio; |
| | | //this.onresize_height = ratio; |
| | | // return ratio; |
| | | }, |
| | | changeMode(mode) { |
| | | this.$refs.switchImagerLayer.switchImagerLayerClick(mode); |
| | | }, |
| | | setImageComparison(isStart) { |
| | | this.isImage = isStart; |
| | | if (!this.isImage) { |
| | | this.destroyImageLayer(); |
| | | } |
| | | }, |
| | | destroyImageLayer() { |
| | | if (activeLi) { |
| | | activeLi.classList.remove('active'); |
| | | activeLi = null; |
| | | } |
| | | if (nLayer) { |
| | | Viewer.imageryLayers.remove(nLayer, true); |
| | | nLayer = null; |
| | | } |
| | | }, |
| | | changeLeftMap(event, item, index) { |
| | | let liObj = event.currentTarget; |
| | | if (activeLi) { |
| | | activeLi.classList.remove('active'); |
| | | activeLi = null; |
| | | } |
| | | liObj.classList.add('active'); |
| | | activeLi = liObj; |
| | | this.loadImageLayer(item); |
| | | }, |
| | | loadImageLayer(year) { |
| | | if (nLayer) { |
| | | Viewer.imageryLayers.remove(nLayer, true); |
| | | nLayer = null; |
| | | } |
| | | nLayer = this.loadBJ54ImageLayer(year); |
| | | }, |
| | | loadBJ54ImageLayer(year) { |
| | | let url = "http://172.26.64.84/service/ImageEngine/picdis/abc"; |
| | | //let url = option.url; |
| | | //let year = option.year; |
| | | let paramUrl = `${url}?user=jjjskfq&password=Jjjskfq@2022&layer=Sate_${year}&style=&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={nx}&TileRow={ny}`; |
| | | let minx = 113.168199 * Math.PI / 180.0; |
| | | let miny = 39.230551 * Math.PI / 180.0; |
| | | let maxx = 118.562362 * Math.PI / 180.0; |
| | | let maxy = 41.294714 * Math.PI / 180.0; |
| | | let rectangle = new Cesium.Rectangle(minx, miny, maxx, maxy); |
| | | let tilingScheme = new Cesium.GeographicTilingScheme({ |
| | | rectangle: rectangle, |
| | | numberOfLevelZeroTilesX: 2, |
| | | numberOfLevelZeroTilesY: 1 |
| | | }); |
| | | var dx = { |
| | | url: paramUrl, |
| | | tilingScheme: tilingScheme, |
| | | customTags: { |
| | | nx: function (imageryProvider, x, y, level) { |
| | | return (2 << (level - 1)) + x; |
| | | }, |
| | | ny: function (imageryProvider, x, y, level) { |
| | | return (2 << (level - 1)) + y; |
| | | } |
| | | } |
| | | }; |
| | | var imageryProvider = new Cesium.UrlTemplateImageryProvider(dx); |
| | | let imageLayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1, brightness: 1.0 }); |
| | | Viewer.imageryLayers.add(imageLayer, 2); |
| | | return imageLayer; |
| | | }, |
| | | changeImage(val) { |
| | | switch (val) { |
| | |
| | | z-index: -1; |
| | | } |
| | | |
| | | .listBox { |
| | | position: absolute; |
| | | left: 20px; |
| | | top: 100px; |
| | | |
| | | } |
| | | |
| | | .listBox .active { |
| | | |
| | | background: rgba(255, 166, 0, 0.808); |
| | | |
| | | } |
| | | |
| | | .listBox li { |
| | | padding: 2px; |
| | | margin-top: 1px; |
| | | border-radius: 2px; |
| | | color: white; |
| | | background: rgba(14, 50, 143, 0.6); |
| | | font-size: 14px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | /* 屏幕分辨率放大为 125 */ |
| | | @media (-webkit-min-device-pixel-ratio: 1.25) { |
| | | .listBox li { |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .listBox li:hover { |
| | | background: rgba(255, 166, 0, 0.808); |
| | | } |
| | | |
| | | .mid { |
| | | position: absolute; |
| | | top: 50%; |
| | |
| | | <template> |
| | | <div> |
| | | <div id="sdkContainer1" style="height: 100%"></div> |
| | | <layerTreeTwoScreenRight |
| | | v-if="layerTreeTwoScreen" |
| | | id="layerTreeTwoScreen111" |
| | | /> |
| | | <div class="listBox" v-show="!isLand"> |
| | | <ul> |
| | | <li v-for="(item, index) in arr" :key="index" @click="changeLeftMap($event, item, index)"> |
| | | {{ item }} |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <layerTreeTwoScreenRight v-if="layerTreeTwoScreen" id="layerTreeTwoScreen111" /> |
| | | <div class="tdInfo" v-if="showTDinfo"> |
| | | <div class="tdInfo_close" @click="tdInfoClose">×</div> |
| | | <p v-if="dikuanxinxi" class="noInfo">暂无该地块信息</p> |
| | |
| | | <div v-else class="title"> |
| | | <li> |
| | | 企业 |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="点击查看企业信息" |
| | | placement="bottom" |
| | | > |
| | | <el-tooltip class="item" effect="dark" content="点击查看企业信息" placement="bottom"> |
| | | <a @click="showYZCQY"> {{ qysl }}</a> |
| | | </el-tooltip> |
| | | 家 |
| | |
| | | </div> |
| | | </ul> |
| | | </div> |
| | | <el-dialog |
| | | class="aboutDialog" |
| | | title="企业信息" |
| | | append-to-body |
| | | width="60%" |
| | | height="60%" |
| | | style="overflow: auto" |
| | | :visible.sync="QYbox" |
| | | :before-close="dialogClose" |
| | | > |
| | | <el-dialog class="aboutDialog" title="企业信息" append-to-body width="60%" height="60%" style="overflow: auto" |
| | | :visible.sync="QYbox" :before-close="dialogClose"> |
| | | <div class="el-dialog-div"> |
| | | <div class="inquire"> |
| | | <el-form |
| | | size="medium" |
| | | ref="queryForm" |
| | | :model="queryForm" |
| | | :inline="true" |
| | | > |
| | | <el-form size="medium" ref="queryForm" :model="queryForm" :inline="true"> |
| | | <el-form-item label="查询内容" prop="name"> |
| | | <el-input |
| | | v-model="queryForm.content" |
| | | placeholder="请输入查询内容" |
| | | /> |
| | | <el-input v-model="queryForm.content" placeholder="请输入查询内容" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button |
| | | @click="queryInfo('queryForm')" |
| | | icon="el-icon-search" |
| | | class="primary" |
| | | >查询</el-button |
| | | > |
| | | <el-button @click="queryInfo('queryForm')" icon="el-icon-search" class="primary">查询</el-button> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | <el-table |
| | | fit |
| | | style="width: 100%" |
| | | :data="tableData" |
| | | highlight-current-row |
| | | > |
| | | <el-table fit style="width: 100%" :data="tableData" highlight-current-row> |
| | | <el-table-column type="index" width="50"></el-table-column> |
| | | <el-table-column |
| | | property="企业名称" |
| | | label="企业名称" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | property="企业类型" |
| | | label="企业类型" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | property="成立时间" |
| | | label="成立时间" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | property="所属行业" |
| | | label="所属行业" |
| | | ></el-table-column> |
| | | <el-table-column property="企业名称" label="企业名称"></el-table-column> |
| | | <el-table-column property="企业类型" label="企业类型"></el-table-column> |
| | | <el-table-column property="成立时间" label="成立时间"></el-table-column> |
| | | <el-table-column property="所属行业" label="所属行业"></el-table-column> |
| | | <el-table-column property="法人" label="法人"></el-table-column> |
| | | <el-table-column |
| | | property="注册地址" |
| | | label="注册地址" |
| | | ></el-table-column> |
| | | <el-table-column property="注册地址" label="注册地址"></el-table-column> |
| | | </el-table> |
| | | <div |
| | | slot="footer" |
| | | class="dialog-footer" |
| | | style="text-align: center; margin-top: 5px" |
| | | > |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :current-page.sync="currentPage" |
| | | :page-size="10" |
| | | :pager-count="11" |
| | | layout="total, pager" |
| | | :total="searchNum" |
| | | > |
| | | <div slot="footer" class="dialog-footer" style="text-align: center; margin-top: 5px"> |
| | | <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" |
| | | :current-page.sync="currentPage" :page-size="10" :pager-count="11" layout="total, pager" :total="searchNum"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | import Bus from "../tools/Bus"; |
| | | |
| | | let line, line1, handler, handler1, divPoint, divPoint1, dx; |
| | | |
| | | let line, line1, handler, handler1, divPoint, divPoint1, dx, activeLi, nLayer, TDLayer; |
| | | export default { |
| | | name: "viewer1", |
| | | components: { layerTreeTwoScreenRight }, |
| | |
| | | currentPage: 1, |
| | | pageSize: 10, |
| | | searchNum: 0, |
| | | arr: [ |
| | | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, |
| | | 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, |
| | | ], |
| | | tableData: [], |
| | | |
| | | |
| | | queryForm: { |
| | | type: "企业名称", |
| | | content: "", |
| | |
| | | |
| | | }, |
| | | computed: { |
| | | ...mapState(["viewer1Show", "layerTreeTwoScreen"]), |
| | | ...mapState(["viewer1Show", "isLand", "layerTreeTwoScreen"]), |
| | | }, |
| | | watch: { |
| | | viewer1Show: { |
| | |
| | | }, 2000); |
| | | }, |
| | | }, |
| | | isLand(newvalue, oldvalue) { |
| | | if (!newvalue) { |
| | | if (TDLayer) { |
| | | TDLayer.deleteObject(); |
| | | TDLayer = null; |
| | | } |
| | | if (line) { |
| | | sgworld.Creator.DeleteObject(line); |
| | | } |
| | | if (line1) { |
| | | sgworld1.Creator.DeleteObject(line1); |
| | | } |
| | | } else { |
| | | if (!TDLayer) { |
| | | this.loadTDGLLayer(); |
| | | } |
| | | } |
| | | } |
| | | }, |
| | | mounted() { |
| | | this.$nextTick(function () { |
| | |
| | | }, |
| | | }, |
| | | }; |
| | | // let option = { |
| | | // url: SmartEarthRootUrl + "Workers/image/earth.jpg", |
| | | // fullscreenButton: true, |
| | | // licenseServer: "http://183.162.245.49:18080", |
| | | // minViewHeight: parseFloat(common.minviewheight), |
| | | // contextOptions: { |
| | | // failIfMajorPerformanceCaveat: false, |
| | | // webgl: { |
| | | // alpha: true, |
| | | // preserveDrawingBuffer: true |
| | | // } |
| | | // } |
| | | // }; |
| | | |
| | | //EPSG4326 |
| | | // Cesium.ExpandBySmartEarth.Ellipsoid.z = 6356752.3142451793; |
| | | |
| | | // 北京 |
| | | window.sgworld1 = new SmartEarth.EarthCtrl( |
| | |
| | | true, |
| | | "" |
| | | ); |
| | | if (this.isLand) { |
| | | this.loadTDGLLayer(); |
| | | } |
| | | var p = { |
| | | destination: sgworld.Navigate.getPosition(), |
| | | orientation: { |
| | | heading: sgworld.Viewer.camera.heading, |
| | | pitch: sgworld.Viewer.camera.pitch, |
| | | roll: sgworld.Viewer.camera.roll, |
| | | }, |
| | | }; |
| | | sgworld1.Viewer.camera.setView(p); |
| | | setTimeout(() => { |
| | | window.loading && window.loading.close(); |
| | | }, 100); |
| | | setTimeout(() => { |
| | | window.APPLoading && window.APPLoading.close(); |
| | | }, 100); |
| | | } |
| | | ); |
| | | |
| | | |
| | | window.Viewer1 = sgworld1._Viewer; |
| | | Viewer1.shadows = false; |
| | | |
| | | //深度检测 |
| | | sgworld1.Analysis.depthTestAgainstTerrain(true); |
| | | |
| | | //地下模式距离参数 |
| | | // Viewer.scene.screenSpaceCameraController.enableCollisionDetection = false; |
| | | Viewer1.scene.globe.translucency.frontFaceAlpha = 0.5; |
| | | Viewer1.scene.globe.undergroundColor = undefined; |
| | | |
| | | |
| | | this.addEvent(); |
| | | }); |
| | | //关闭弹窗 |
| | | Bus.$on("closeLandInfoPop", (data) => { |
| | | if (data) { |
| | | this.showTDinfo = false; |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | |
| | | setImageComparison(isStart) { |
| | | this.isImage = isStart; |
| | | if (!this.isImage) { |
| | | this.destroyImageLayer(); |
| | | } |
| | | }, |
| | | destroyImageLayer() { |
| | | if (activeLi) { |
| | | activeLi.classList.remove('active'); |
| | | activeLi = null; |
| | | } |
| | | if (nLayer) { |
| | | Viewer1.imageryLayers.remove(nLayer, true); |
| | | nLayer = null; |
| | | } |
| | | }, |
| | | changeLeftMap(event, item, index) { |
| | | let liObj = event.currentTarget; |
| | | if (activeLi) { |
| | | activeLi.classList.remove('active'); |
| | | activeLi = null; |
| | | } |
| | | liObj.classList.add('active'); |
| | | activeLi = liObj; |
| | | this.loadImageLayer(item); |
| | | }, |
| | | loadImageLayer(year) { |
| | | if (nLayer) { |
| | | Viewer1.imageryLayers.remove(nLayer, true); |
| | | nLayer = null; |
| | | } |
| | | nLayer = this.loadBJ54ImageLayer(year); |
| | | }, |
| | | loadBJ54ImageLayer(year) { |
| | | let url = "http://172.26.64.84/service/ImageEngine/picdis/abc"; |
| | | //let url = option.url; |
| | | //let year = option.year; |
| | | let paramUrl = `${url}?user=jjjskfq&password=Jjjskfq@2022&layer=Sate_${year}&style=&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix={z}&TileCol={nx}&TileRow={ny}`; |
| | | let minx = 113.168199 * Math.PI / 180.0; |
| | | let miny = 39.230551 * Math.PI / 180.0; |
| | | let maxx = 118.562362 * Math.PI / 180.0; |
| | | let maxy = 41.294714 * Math.PI / 180.0; |
| | | let rectangle = new Cesium.Rectangle(minx, miny, maxx, maxy); |
| | | let tilingScheme = new Cesium.GeographicTilingScheme({ |
| | | rectangle: rectangle, |
| | | numberOfLevelZeroTilesX: 2, |
| | | numberOfLevelZeroTilesY: 1 |
| | | }); |
| | | var dx = { |
| | | url: paramUrl, |
| | | tilingScheme: tilingScheme, |
| | | customTags: { |
| | | nx: function (imageryProvider, x, y, level) { |
| | | return (2 << (level - 1)) + x; |
| | | }, |
| | | ny: function (imageryProvider, x, y, level) { |
| | | return (2 << (level - 1)) + y; |
| | | } |
| | | } |
| | | }; |
| | | var imageryProvider = new Cesium.UrlTemplateImageryProvider(dx); |
| | | let imageLayer = new Cesium.ImageryLayer(imageryProvider, { alpha: 1, brightness: 1.0 }); |
| | | Viewer1.imageryLayers.add(imageLayer, 2); |
| | | return imageLayer; |
| | | }, |
| | | loadTDGLLayer() { |
| | | let treeNode = URLInCode.tdglTmsCode; |
| | | sgworld1.Creator.createImageryProvider( |
| | | TDLayer = sgworld1.Creator.createImageryProvider( |
| | | treeNode.name, |
| | | "tms", |
| | | { |
| | |
| | | "" |
| | | ); |
| | | |
| | | var p = { |
| | | destination: sgworld.Navigate.getPosition(), |
| | | orientation: { |
| | | heading: sgworld.Viewer.camera.heading, |
| | | pitch: sgworld.Viewer.camera.pitch, |
| | | roll: sgworld.Viewer.camera.roll, |
| | | }, |
| | | }; |
| | | sgworld1.Viewer.camera.setView(p); |
| | | setTimeout(() => { |
| | | window.APPLoading && window.APPLoading.close(); |
| | | }, 1000); |
| | | } |
| | | ); |
| | | |
| | | // 合肥 |
| | | // window.sgworld1 = new SmartEarth.SGWorld( |
| | | // "sdkContainer1", |
| | | // Cesium, |
| | | // option, |
| | | // null, |
| | | // function () { |
| | | // var p = { |
| | | // destination: sgworld.Navigate.getPosition(), |
| | | // orientation: { |
| | | // heading: sgworld.Viewer.camera.heading, |
| | | // pitch: sgworld.Viewer.camera.pitch, |
| | | // roll: sgworld.Viewer.camera.roll, |
| | | // }, |
| | | // }; |
| | | // sgworld1.Viewer.camera.setView(p); |
| | | // setTimeout(() => { |
| | | // window.APPLoading && window.APPLoading.close(); |
| | | // }, 1000); |
| | | // } |
| | | // ); |
| | | window.Viewer1 = sgworld1._Viewer; |
| | | Viewer1.shadows = false; |
| | | |
| | | //深度检测 |
| | | sgworld1.Analysis.depthTestAgainstTerrain(true); |
| | | |
| | | //地下模式距离参数 |
| | | // Viewer.scene.screenSpaceCameraController.enableCollisionDetection = false; |
| | | Viewer1.scene.globe.translucency.frontFaceAlpha = 0.5; |
| | | Viewer1.scene.globe.undergroundColor = undefined; |
| | | addEvent() { |
| | | let type = 0; |
| | | |
| | | //点击左侧显示范围、详情 |
| | | handler1 = new Cesium.ScreenSpaceEventHandler(Viewer1.scene.canvas); |
| | | handler1.setInputAction((event) => { |
| | | if (this.isLand) { |
| | | let that = this; |
| | | this.clearInfoPanel(); |
| | | let p; |
| | |
| | | } |
| | | }); |
| | | } |
| | | } |
| | | }, Cesium.ScreenSpaceEventType.LEFT_CLICK); |
| | | |
| | | }); |
| | | //关闭弹窗 |
| | | Bus.$on("closeLandInfoPop", (data) => { |
| | | if (data) { |
| | | this.showTDinfo = false; |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | dialogClose() { |
| | | this.queryForm.content = ""; |
| | | this.queryForm.type = "企业名称"; |
| | |
| | | background-size: 100% 100%; |
| | | margin: 0 auto; |
| | | } |
| | | |
| | | .tdInfo .title li { |
| | | margin-left: 32px; |
| | | /* width: 78px; */ |
| | |
| | | -webkit-background-clip: text; |
| | | -webkit-text-fill-color: transparent; |
| | | } |
| | | |
| | | .content1, |
| | | .content2, |
| | | .content3 { |
| | |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .content1 li, |
| | | .content2 li, |
| | | .content3 li { |
| | |
| | | line-height: 26px; |
| | | text-shadow: 0px 1px 6px rgba(3, 10, 26, 0.5); |
| | | } |
| | | |
| | | .content1 { |
| | | height: 136px; |
| | | padding: 19px 0; |
| | | } |
| | | |
| | | .content2 { |
| | | height: 132px; |
| | | padding: 21px 0; |
| | | } |
| | | |
| | | .content3 { |
| | | height: 116px; |
| | | padding-top: 21px; |
| | |
| | | background-color: rgba(0, 32, 70, 0.7) !important; |
| | | } |
| | | |
| | | .aboutDialog .el-dialog-div .dialog-footer { |
| | | } |
| | | .aboutDialog .el-dialog-div .dialog-footer {} |
| | | |
| | | .el-pagination { |
| | | color: #fff; |
| | |
| | | color: #fff; |
| | | } |
| | | |
| | | .listBox { |
| | | position: absolute; |
| | | right: 20px; |
| | | top: 100px; |
| | | |
| | | } |
| | | |
| | | .listBox .active { |
| | | |
| | | background: rgba(255, 166, 0, 0.808); |
| | | |
| | | } |
| | | |
| | | .listBox li { |
| | | padding: 2px; |
| | | margin-top: 1px; |
| | | border-radius: 2px; |
| | | color: white; |
| | | background: rgba(14, 50, 143, 0.6); |
| | | font-size: 14px; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | /* 屏幕分辨率放大为 125 */ |
| | | @media (-webkit-min-device-pixel-ratio: 1.25) { |
| | | .listBox li { |
| | | font-size: 12px; |
| | | } |
| | | } |
| | | |
| | | .listBox li:hover { |
| | | background: rgba(255, 166, 0, 0.808); |
| | | } |
| | | |
| | | ::-webkit-scrollbar { |
| | | /*滚动条整体样式*/ |
| | | width: 4px; |
| | |
| | | <template> |
| | | <div class="specialTool"> |
| | | <div class="bottomwrapper" :class="{ 'top-btn-active': viewer1Show }"> |
| | | <div class="bottomwrapper" :class="{ 'top-btn-active': viewer1Show && isLand }"> |
| | | <div class="imgbox" @click="tdglHandle"> |
| | | <img src="@assets/img/new/tudiguanli.png" alt="" /> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="bottomwrapper" @click="historyHandle"> |
| | | <div class="bottomwrapper" @click="historyHandle" :class="{ 'top-btn-active': viewer1Show && !isLand }"> |
| | | <div class="imgbox"> |
| | | <img src="@assets/img/new/chengshigengxin.png" alt="" /> |
| | | </div> |
| | |
| | | <div class="textbox"> |
| | | <span> 综合扩展 </span> |
| | | </div> |
| | | <el-dropdown-menu |
| | | slot="dropdown" |
| | | :append-to-body="false" |
| | | class="popper-dropdown" |
| | | > |
| | | <el-dropdown-item command="stdsjHandle" |
| | | >视图大数据平台</el-dropdown-item |
| | | > |
| | | <el-dropdown-item command="bzdSystem" |
| | | >标准地监管平台</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-if="isShowSPJK" command="spjkHandle" |
| | | >视频集成与可视化</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-else command="closeSpjk" |
| | | >关闭视频点位分布</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle" |
| | | >手机信令热力分布</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-else command="closeSjxl" |
| | | >关闭信令热力分布</el-dropdown-item |
| | | > |
| | | <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown"> |
| | | <el-dropdown-item command="stdsjHandle">视图大数据平台</el-dropdown-item> |
| | | <el-dropdown-item command="bzdSystem">标准地监管平台</el-dropdown-item> |
| | | <el-dropdown-item v-if="isShowSPJK" command="spjkHandle">视频集成与可视化</el-dropdown-item> |
| | | <el-dropdown-item v-else command="closeSpjk">关闭视频点位分布</el-dropdown-item> |
| | | <el-dropdown-item v-if="isShowSjxl" command="sjxlHandle">手机信令热力分布</el-dropdown-item> |
| | | <el-dropdown-item v-else command="closeSjxl">关闭信令热力分布</el-dropdown-item> |
| | | <el-dropdown-item command="csgxHandle">城市更新</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | |
| | | <div class="textbox"> |
| | | <span> 精模示范 </span> |
| | | </div> |
| | | <el-dropdown-menu |
| | | slot="dropdown" |
| | | :append-to-body="false" |
| | | class="popper-dropdown" |
| | | > |
| | | <el-dropdown-menu slot="dropdown" :append-to-body="false" class="popper-dropdown"> |
| | | <el-dropdown-item command="fcfhHandle">分层分户</el-dropdown-item> |
| | | <!-- <el-dropdown-item command="sprhHandle">场景视频融合</el-dropdown-item> --> |
| | | <el-dropdown-item v-if="isShowSPRH" command="jiqirendahui" |
| | | >场景视频融合</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-else command="jiqirendahui" |
| | | >关闭视频融合</el-dropdown-item |
| | | > |
| | | <el-dropdown-item v-if="isShowSPRH" command="jiqirendahui">场景视频融合</el-dropdown-item> |
| | | <el-dropdown-item v-else command="jiqirendahui">关闭视频融合</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </div> |
| | | |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="土地管理" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i |
| | | @click="tdglHandle" |
| | | class="iconfont icon-nongcuntudiwenti" |
| | | :class="{ 'top-btn-active': viewer1Show }" |
| | | ></i> |
| | | </el-tooltip> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="城市部件可视化" |
| | | placement="top" |
| | | > |
| | | <el-dropdown placement="top" @command="handleCommand" trigger="click"> |
| | | <span class="el-dropdown-link"> |
| | | <i class="el-icon-arrow-down el-icon--right"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item command="qytj">感知设备一张图</el-dropdown-item> |
| | | <el-dropdown-item command="spjkHandle" |
| | | >视频集成与可视化展示</el-dropdown-item |
| | | > |
| | | <el-dropdown-item command="stdsjHandle"> |
| | | 视频智能分析成果展示</el-dropdown-item |
| | | > |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-tooltip> |
| | | |
| | | |
| | | <el-tooltip class="item" effect="dark" content="场景浏览" placement="right"> |
| | | <el-dropdown> |
| | | <span class="el-dropdown-link"> |
| | | <i class="el-icon-position"></i> |
| | | </span> |
| | | <el-dropdown-menu slot="dropdown"> |
| | | <el-dropdown-item |
| | | v-for="item in romanOption" |
| | | :key="item.name" |
| | | @click="setRomanFly(item)" |
| | | > |
| | | {{ item.name }}</el-dropdown-item |
| | | > |
| | | </el-dropdown-menu> |
| | | </el-dropdown> |
| | | </el-tooltip> --> |
| | | <div class="funcBox" v-if="testSHIPINRONGHE"> |
| | | <el-form ref="form" label-width="80px"> |
| | | <el-form-item label="四周方向:"> |
| | |
| | | @input="updateVideo" |
| | | > |
| | | </el-slider> --> |
| | | <el-slider |
| | | :min="0" |
| | | :max="360" |
| | | v-model="robotVideoList[3].heading" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :min="0" :max="360" v-model="robotVideoList[3].heading" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | <el-form-item label="俯仰角度:"> |
| | | <el-slider |
| | | :min="-89" |
| | | :max="89" |
| | | v-model="robotVideoList[3].pitch" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :min="-89" :max="89" v-model="robotVideoList[3].pitch" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | <el-form-item label="水平视角:"> |
| | | <el-slider |
| | | :min="30" |
| | | :max="120" |
| | | v-model="robotVideoList[3].horizonAngle" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :min="30" :max="120" v-model="robotVideoList[3].horizonAngle" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | <el-form-item label="垂直视角:"> |
| | | <el-slider |
| | | :min="30" |
| | | :max="120" |
| | | v-model="robotVideoList[3].verticalAngle" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :min="30" :max="120" v-model="robotVideoList[3].verticalAngle" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | <el-form-item label="最远投射:"> |
| | | <el-slider |
| | | :min="100" |
| | | :max="300" |
| | | v-model="robotVideoList[3].far" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :min="100" :max="300" v-model="robotVideoList[3].far" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | <el-form-item label="透明度:"> |
| | | <el-slider |
| | | :step="0.1" |
| | | :min="0" |
| | | :max="1" |
| | | v-model="robotVideoList[3].alpha" |
| | | @input="updateVideo" |
| | | > |
| | | <el-slider :step="0.1" :min="0" :max="1" v-model="robotVideoList[3].alpha" @input="updateVideo"> |
| | | </el-slider> |
| | | </el-form-item> |
| | | </el-form> |
| | | </div> |
| | | |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="视图大数据平台" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i @click="stdsjHandle" class="el-icon-data-line"> </i> |
| | | </el-tooltip> |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="土地管理" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i |
| | | @click="tdglHandle" |
| | | class="iconfont icon-nongcuntudiwenti" |
| | | :class="{ 'top-btn-active': viewer1Show }" |
| | | ></i> |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="数据汇聚" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i |
| | | @click="qytj" |
| | | class="el-icon-pie-chart" |
| | | :class="{ 'top-btn-active': qyEchartsShow }" |
| | | ></i> |
| | | </el-tooltip> --> |
| | | <!-- |
| | | <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="场景漫游" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i @click="sceneRoaming()" class="el-icon-position"></i> |
| | | </el-tooltip> --> |
| | | <!-- <el-tooltip |
| | | class="item" |
| | | effect="dark" |
| | | content="视频融合" |
| | | placement="bottom" |
| | | popper-class="item_tooltip" |
| | | > |
| | | <i @click="shipinronghe(videoList)" class="el-icon-position"></i> |
| | | </el-tooltip> |
| | | <div id="scroll" class="scroll_div"> |
| | | <ul> |
| | | <li |
| | | v-for="item in romanOption" |
| | | :key="item.name" |
| | | @click="setRomanFly(item)" |
| | | > |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | </div> --> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | display: flex; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | .specialTool .bottomwrapper:nth-of-type(2), |
| | | .specialTool .bottomwrapper:nth-of-type(3) { |
| | | /* background: red; */ |
| | | position: relative; |
| | | top: -18px; |
| | | } |
| | | |
| | | .bottomwrapper { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .imgbox { |
| | | width: 84px; |
| | | height: 81px; |
| | |
| | | background-size: 100% 100%; |
| | | position: relative; |
| | | } |
| | | |
| | | .imgbox img { |
| | | width: 38px; |
| | | position: absolute; |
| | |
| | | left: 52.5%; |
| | | transform: translate(-50%, -50%); |
| | | } |
| | | |
| | | .textbox { |
| | | margin-top: 2px; |
| | | width: 100px; |
| | |
| | | background-image: url("~@/assets/img/new/textbg.png"); |
| | | background-size: 100% 100%; |
| | | } |
| | | |
| | | .textbox span { |
| | | text-align: center; |
| | | display: block; |
| | |
| | | line-height: 28px; |
| | | text-shadow: 0px 2px 2px rgba(32, 32, 32, 0.8); |
| | | } |
| | | |
| | | .list { |
| | | position: absolute; |
| | | background: rgba(14, 50, 143, 0.6); |
| | | bottom: 124px; |
| | | box-shadow: 0px 0px 10px 5px rgba(11, 78, 179, 0.7) inset; |
| | | } |
| | | |
| | | .list li { |
| | | min-width: 154px; |
| | | height: 35px; |
| | |
| | | width: 155px; |
| | | border: none; |
| | | } |
| | | |
| | | .el-dropdown /deep/ .el-dropdown-selfdefine{ |
| | | margin-left: 8px !important; |
| | | } |
| | | |
| | | .csbj .el-dropdown-menu { |
| | | top: -215px !important; |
| | | } |
| | | |
| | | .jxmx .el-dropdown-menu { |
| | | top: -110px !important; |
| | | } |
| | |
| | | color: #fff; |
| | | line-height: 35px; |
| | | } |
| | | |
| | | .el-dropdown-menu /deep/ .popper__arrow { |
| | | border: none; |
| | | } |
| | | |
| | | .csbj .el-popper /deep/ .popper__arrow::after { |
| | | border-top-color: rgba(14, 50, 143, 0.6); |
| | | border-top-width: 6px; |
| | |
| | | top: 201px; |
| | | left: 37px; |
| | | } |
| | | |
| | | .jxmx .el-popper /deep/ .popper__arrow::after { |
| | | border-top-color: rgba(14, 50, 143, 0.6); |
| | | border-top-width: 6px; |
| | |
| | | .scroll_div li:hover { |
| | | color: #0987ff; |
| | | } |
| | | |
| | | .funcBox { |
| | | width: 230px; |
| | | position: absolute; |
| | |
| | | lon: 116.51507, |
| | | lat: 39.79686, |
| | | height: 40, |
| | | isLand: true, |
| | | // 四周方向 |
| | | heading: 305, |
| | | // 俯仰角度 |
| | |
| | | far: 3000, |
| | | cameraIndexCode: "2b046ef675704975a8d45f1b00cd946b", |
| | | }, |
| | | // { |
| | | // name: "video3", |
| | | // lon: 116.5146339, |
| | | // lat: 39.7967196, |
| | | // height: 80, |
| | | // // 四周方向 |
| | | // heading: 62, |
| | | // // 俯仰角度 |
| | | // pitch: -43, |
| | | // // 水平角度 |
| | | // horizonAngle: 45, |
| | | // // 垂直角度 |
| | | // verticalAngle: 64, |
| | | // // 透明度 |
| | | // alpha: 1, |
| | | // // 透明度 |
| | | // far: 166, |
| | | // cameraIndexCode: "a0ffb1dedde7468187d0b0f91d431475", |
| | | // }, |
| | | // { |
| | | // name: "video4", |
| | | // lon: 116.51496, |
| | | // lat: 39.796854, |
| | | // height: 80, |
| | | // // 四周方向 |
| | | // heading: 148, |
| | | // // 俯仰角度 |
| | | // pitch: -39, |
| | | // // 水平角度 |
| | | // horizonAngle: 40, |
| | | // // 垂直角度 |
| | | // verticalAngle: 58, |
| | | // // 透明度 |
| | | // alpha: 1, |
| | | // // 透明度 |
| | | // far: 219, |
| | | // cameraIndexCode: "e6ec9aaf9320455ab6c5ea224f3f5f38", |
| | | // }, |
| | | // { |
| | | // name: "video1", |
| | | // lon: 116.51522, |
| | | // lat: 39.79724, |
| | | // height: 80, |
| | | // // 四周方向 |
| | | // heading: 64, |
| | | // // 俯仰角度 |
| | | // pitch: -47, |
| | | // // 水平角度 |
| | | // horizonAngle: 30, |
| | | // // 垂直角度 |
| | | // verticalAngle: 60, |
| | | // // 透明度 |
| | | // alpha: 1, |
| | | // // 透明度 |
| | | // far: 166, |
| | | // cameraIndexCode: "1523335e47a5476f9f65f90f9983e875", |
| | | // }, |
| | | |
| | | ], |
| | | robotVideoList: [ |
| | | { |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | ...mapState(["viewer1Show", "yqfk", "qyEchartsShow"]), |
| | | ...mapState(["viewer1Show", "isLand", "yqfk", "qyEchartsShow"]), |
| | | }, |
| | | methods: { |
| | | ...mapMutations(["setViewer1Show", "setqyEchartsShow"]), |
| | | ...mapMutations(["setViewer1Show", "setIsLand", "setqyEchartsShow"]), |
| | | showList(index) { |
| | | switch (index) { |
| | | case "csbj": |
| | |
| | | break; |
| | | } |
| | | }, |
| | | tdglHandle() { |
| | | historyHandle() { |
| | | if (this.isLand) { |
| | | this.$parent.changeMode('影像底图'); |
| | | if (!this.viewer1Show) { |
| | | const loading = this.$loading({ |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "影像对比功能加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | } |
| | | this.setIsLand(false); |
| | | this.setViewer1Show(true); |
| | | } else { |
| | | if (!this.viewer1Show) { |
| | | this.$parent.changeMode('影像底图'); |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "影像对比功能加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | } |
| | | this.setIsLand(false); |
| | | this.setViewer1Show(!this.viewer1Show); |
| | | } |
| | | }, |
| | | tdglHandle() { |
| | | if (!this.isLand) { |
| | | if (!this.viewer1Show) { |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "土地管理功能加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | setTimeout(() => { |
| | | loading.close(); |
| | | }, 3500); |
| | | } |
| | | |
| | | this.setIsLand(true); |
| | | this.setViewer1Show(true); |
| | | } else { |
| | | if (!this.viewer1Show) { |
| | | window.loading = this.$loading({ |
| | | lock: true, |
| | | text: "土地管理功能加载中,请稍后", |
| | | spinner: "el-icon-loading", |
| | | background: "rgba(0, 0, 0, 0.7)", |
| | | }); |
| | | } |
| | | this.setIsLand(true); |
| | | this.setViewer1Show(!this.viewer1Show); |
| | | } |
| | | }, |
| | | stdsjHandle() { |
| | | // window.location.href = |
| | |
| | | heatMapItem.deleteObject(); |
| | | } |
| | | }, |
| | | historyHandle() { |
| | | this.$store.commit("showHistory", true); |
| | | }, |
| | | // historyHandle() { |
| | | // this.$store.commit("showHistory", true); |
| | | // }, |
| | | csgxHandle() { |
| | | Bus.$emit("openMyResourcePop", true); |
| | | }, |
| | |
| | | color: #fff; |
| | | padding: 10px; |
| | | box-sizing: border-box; |
| | | z-index: 9999; |
| | | } |
| | | .transition-box ul li { |
| | | /* min-width: 154px; */ |
| | |
| | | let store = new Vuex.Store({ |
| | | state: { |
| | | viewer1Show: false, |
| | | isLand: true, |
| | | qyEchartsShow: false, |
| | | layerTreeTwoScreen: false, |
| | | yqfk: false, |
| | |
| | | setCesiumInit(state, b) { |
| | | state.cesiumInit = b |
| | | }, |
| | | setIsLand(state, b) { |
| | | state.isLand = b; |
| | | }, |
| | | setViewer1Show(state, b) { |
| | | state.viewer1Show = b; |
| | | }, |