src/assets/img/compass.png
src/assets/img/synthesis/images/3°×µ×_03.png
src/assets/img/synthesis/images/3°×µ×_05.png
src/assets/img/synthesis/images/3°×µ×_07.png
src/assets/img/synthesis/images/3°×µ×_10.png
src/assets/img/synthesis/images/3°×µ×_105.png
src/assets/img/synthesis/images/3°×µ×_108-33.png
src/assets/img/synthesis/images/3°×µ×_108.png
src/assets/img/synthesis/images/3°×µ×_111.png
src/assets/img/synthesis/images/3°×µ×_114.png
src/assets/img/synthesis/images/3°×µ×_116.png
src/assets/img/synthesis/images/3°×µ×_122.png
src/assets/img/synthesis/images/3°×µ×_125.png
src/assets/img/synthesis/images/3°×µ×_128.png
src/assets/img/synthesis/images/3°×µ×_13.png
src/assets/img/synthesis/images/3°×µ×_130.png
src/assets/img/synthesis/images/3°×µ×_133.png
src/assets/img/synthesis/images/3°×µ×_135.png
src/assets/img/synthesis/images/3°×µ×_148.png
src/assets/img/synthesis/images/3°×µ×_151.png
src/assets/img/synthesis/images/3°×µ×_154.png
src/assets/img/synthesis/images/3°×µ×_157.png
src/assets/img/synthesis/images/3°×µ×_159.png
src/assets/img/synthesis/images/3°×µ×_16.png
src/assets/img/synthesis/images/3°×µ×_162.png
src/assets/img/synthesis/images/3°×µ×_164.png
src/assets/img/synthesis/images/3°×µ×_166.png
src/assets/img/synthesis/images/3°×µ×_168.png
src/assets/img/synthesis/images/3°×µ×_180.png
src/assets/img/synthesis/images/3°×µ×_183.png
src/assets/img/synthesis/images/3°×µ×_186.png
src/assets/img/synthesis/images/3°×µ×_19.png
src/assets/img/synthesis/images/3°×µ×_192.png
src/assets/img/synthesis/images/3°×µ×_195.png
src/assets/img/synthesis/images/3°×µ×_198.png
src/assets/img/synthesis/images/3°×µ×_201.png
src/assets/img/synthesis/images/3°×µ×_203.png
src/assets/img/synthesis/images/3°×µ×_206.png
src/assets/img/synthesis/images/3°×µ×_208.png
src/assets/img/synthesis/images/3°×µ×_21.png
src/assets/img/synthesis/images/3°×µ×_217.png
src/assets/img/synthesis/images/3°×µ×_220.png
src/assets/img/synthesis/images/3°×µ×_222.png
src/assets/img/synthesis/images/3°×µ×_225.png
src/assets/img/synthesis/images/3°×µ×_228.png
src/assets/img/synthesis/images/3°×µ×_23.png
src/assets/img/synthesis/images/3°×µ×_231.png
src/assets/img/synthesis/images/3°×µ×_233.png
src/assets/img/synthesis/images/3°×µ×_236.png
src/assets/img/synthesis/images/3°×µ×_238.png
src/assets/img/synthesis/images/3°×µ×_26.png
src/assets/img/synthesis/images/3°×µ×_29.png
src/assets/img/synthesis/images/3°×µ×_31.png
src/assets/img/synthesis/images/3°×µ×_46.png
src/assets/img/synthesis/images/3°×µ×_49.png
src/assets/img/synthesis/images/3°×µ×_52.png
src/assets/img/synthesis/images/3°×µ×_55.png
src/assets/img/synthesis/images/3°×µ×_58.png
src/assets/img/synthesis/images/3°×µ×_61.png
src/assets/img/synthesis/images/3°×µ×_64.png
src/assets/img/synthesis/images/3°×µ×_67.png
src/assets/img/synthesis/images/3°×µ×_69.png
src/assets/img/synthesis/images/3°×µ×_81.png
src/assets/img/synthesis/images/3°×µ×_84.png
src/assets/img/synthesis/images/3°×µ×_87.png
src/assets/img/synthesis/images/3°×µ×_90.png
src/assets/img/synthesis/images/3°×µ×_93.png
src/assets/img/synthesis/images/3°×µ×_96.png
src/components/mapol.vue
@@ -79,9 +79,9 @@ target: "mapol", layers: [imageLayer, vectorLayer], 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", }), controls: defaultControls().extend([ new FullScreen(), src/components/mapsdk.vue
@@ -1,44 +1,85 @@ <template> <div class="mapBox"> <div id="mapdiv"> <div class="menu_Top" v-if="$store.state.mapMenuBoolean"> <div class="menu_Top" v-if="$store.state.mapMenuBoolean" > <map-menu-top v-if="$store.state.mapMenuBoxFlag == '1'" /> <map-space-top v-if="$store.state.mapMenuBoxFlag == '2'" /> </div> <div class="bufferBox" v-if="showBufferBoxDialog"> <div class="bufferBox" v-if="showBufferBoxDialog" > <el-card class="box-card"> <div slot="header" class="clearfix"> <div slot="header" class="clearfix" > <span>ç¼å²åºåæ</span> <div style="float: right; cursor: pointer"> <i class="el-icon-close" @click="closeBufferBox(1)"></i> <i class="el-icon-close" @click="closeBufferBox(1)" ></i> </div> </div> <div class="box-body"> <el-form ref="form" :model="bufFrom" label-width="100px"> <el-form ref="form" :model="bufFrom" label-width="100px" > <el-form-item label="ç¼å²åå¾(ç±³):"> <el-input v-model="bufFrom.val"></el-input> </el-form-item> <el-form-item> <el-button @click="addBuffer(1)" type="info">ç¹</el-button> <el-button @click="addBuffer(2)" type="info">线</el-button> <el-button @click="addBuffer(3)" type="info">é¢</el-button> <el-button @click="clearBuffer" type="info">æ¸ é¤</el-button> <el-button @click="addBuffer(1)" type="info" >ç¹</el-button> <el-button @click="addBuffer(2)" type="info" >线</el-button> <el-button @click="addBuffer(3)" type="info" >é¢</el-button> <el-button @click="clearBuffer" type="info" >æ¸ é¤</el-button> </el-form-item> </el-form> </div> </el-card> </div> <div class="coordLocalBox" v-if="showCoordLocalBoxDialog"> <div class="coordLocalBox" v-if="showCoordLocalBoxDialog" > <el-card class="box-card"> <div slot="header" class="clearfix"> <div slot="header" class="clearfix" > <span>åæ å®ä½</span> <div style="float: right; cursor: pointer"> <i class="el-icon-close" @click="closeBufferBox(2)"></i> <i class="el-icon-close" @click="closeBufferBox(2)" ></i> </div> </div> <div class="box-body"> <el-form ref="form" :model="coordFrom" label-width="50px"> <el-form ref="form" :model="coordFrom" label-width="50px" > <el-form-item label="ç»åº¦:"> <el-input v-model="coordFrom.lon"></el-input> </el-form-item> @@ -49,22 +90,38 @@ <el-input v-model="coordFrom.height"></el-input> </el-form-item> <el-form-item> <el-button @click="setCoordLocal" type="info">å®ä½</el-button> <el-button @click="setCoordLocal" type="info" >å®ä½</el-button> </el-form-item> </el-form> </div> </el-card> </div> <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog"> <div class="toponymicLocalBox" v-if="showToponymicLocalBoxDialog" > <el-card class="box-card"> <div slot="header" class="clearfix"> <div slot="header" class="clearfix" > <span>å°åå®ä½</span> <div style="float: right; cursor: pointer"> <i class="el-icon-close" @click="closeBufferBox(3)"></i> <i class="el-icon-close" @click="closeBufferBox(3)" ></i> </div> </div> <div class="box-body"> <el-form :model="comprehensive" :inline="true" label-width="50px"> <el-form :model="comprehensive" :inline="true" label-width="50px" > <el-form-item label="å°å:"> <el-input style="width: 200px" @@ -72,17 +129,28 @@ ></el-input> </el-form-item> <el-form-item> <el-button @click="setQueryTable" type="info">æ¥è¯¢</el-button> <el-button @click="setQueryTable" type="info" >æ¥è¯¢</el-button> </el-form-item> </el-form> <el-table :data="tableData" height="200px" style="width: 100%"> <el-table :data="tableData" height="200px" style="width: 100%" > <el-table-column align="center" type="index" label="åºå·" width="70px" /> <el-table-column prop="name" align="center" label="å®ä½"> <el-table-column prop="name" align="center" label="å®ä½" > <template slot-scope="scope"> <el-button @click="handleLocation(scope.$index, scope.row)" @@ -91,10 +159,17 @@ ></el-button> </template> </el-table-column> <el-table-column prop="name" align="center" label="å°å"> <el-table-column prop="name" align="center" label="å°å" > </el-table-column> </el-table> <div style="margin-top: 10px" class="pagination_box"> <div style="margin-top: 10px" class="pagination_box" > <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" @@ -109,12 +184,21 @@ </div> </el-card> </div> <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog"> <div class="pathAnalysisBox" v-if="showPathAnalysisBoxDialog" > <el-card class="box-card"> <div slot="header" class="clearfix"> <div slot="header" class="clearfix" > <span>è·¯å¾åæ</span> <div style="float: right; cursor: pointer"> <i class="el-icon-close" @click="closeBufferBox(4)"></i> <i class="el-icon-close" @click="closeBufferBox(4)" ></i> </div> </div> <div class="box-body"> @@ -124,7 +208,10 @@ :rules="rules" label-width="55px" > <el-form-item label="èµ·ç¹:" prop="lon"> <el-form-item label="èµ·ç¹:" prop="lon" > <el-input style="width: 250px" v-model="pathFrom.lon" @@ -134,10 +221,15 @@ :underline="false" @click="showMouseLeftClick(1)" style="margin-left: 10px" ><i style="color: white" class="el-icon-plus"></i ></el-link> ><i style="color: white" class="el-icon-plus" ></i></el-link> </el-form-item> <el-form-item label="ç»ç¹:" prop="lat"> <el-form-item label="ç»ç¹:" prop="lat" > <el-input style="width: 250px" v-model="pathFrom.lat" @@ -147,13 +239,16 @@ :underline="false" @click="showMouseLeftClick(2)" style="margin-left: 10px" ><i style="color: white" class="el-icon-plus"></i ></el-link> ><i style="color: white" class="el-icon-plus" ></i></el-link> </el-form-item> <el-form-item> <el-button @click="showMouseLeftClick(3)" type="info" >æ¥è¯¢</el-button > <el-button @click="showMouseLeftClick(3)" type="info" >æ¥è¯¢</el-button> </el-form-item> </el-form> </div> @@ -302,7 +397,7 @@ // 100000 // ), // }) Viewer.camera.flyTo({ Viewer.camera.flyTo({ destination: Cesium.Cartesian3.fromDegrees(110, 33, 8000000), }); @@ -570,9 +665,7 @@ return false } }) if (this.linePath != null) { this.clearPathAll(3) } this.clearPathAll(3) var start = this.pathFrom.lon.split(",") var end = this.pathFrom.lat.split(",") var startData = { @@ -581,7 +674,7 @@ x2: parseFloat(end[0]), y2: parseFloat(end[1]), } const data = await comprehensive_selectRoute(startData) if (data.code != 200) { return this.$message.error("æ°æ®è¯·æ±å¤±è´¥") src/views/Tools/LayerTree.vue
@@ -15,7 +15,8 @@ @node-contextmenu="rightClick" @check-change="handleCheckChange" :default-checked-keys="handleTreeCheck" ref="tree" > ref="tree" > <span class="slot-t-node" slot-scope="{ node, data }" @@ -38,7 +39,7 @@ ></el-input> </span> </span> </el-tree> <el-card @@ -143,6 +144,14 @@ import { image_layer } from '../../assets/js/index.js'; import ImageWMS from 'ol/source/ImageWMS'; import Image from 'ol/layer/Image'; import GeoJSON from 'ol/format/GeoJSON.js'; import Map from 'ol/Map.js'; import { Vector as VectorSource } from "ol/source"; import { Vector as VectorLayer, } from "ol/layer"; import View from 'ol/View.js'; import { Fill, Stroke, Style } from 'ol/style.js'; import { perms_selectLayers } from '../../api/api.js' export default { name: 'tree', @@ -317,41 +326,41 @@ menuMoveF(type) { // å°åå¨ä¹åçnodeå¤ä»½ var node= this.currentNode; var data = this.currentData; let copyNode = this.currentNode debugger // copyNode.previousSibling = {...node. } // copyNode.nextSibling = {...node.nextSibling} // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode)) let nodeData = {} if (type==='up') { // ä¸ç§» if (node.previousSibling) { // å é¤åå çnode this.$refs.tree.remove(node.data) // æ¿å°copyçnode // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode')) // // å¤å¶è¯¥nodeå°æå®ä½ç½®(åæ°ï¼1. è¦å¢å çèç¹ç data 2. è¦å¢å çèç¹çåä¸ä¸ªèç¹ç dataãkey æè node) // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data) window.sessionStorage.removeItem('menuNode') } else { this.$message.warning('该èåå·²ç»æ¯å½å屿ä¸çº§') } // å°åå¨ä¹åçnodeå¤ä»½ var node = this.currentNode; var data = this.currentData; let copyNode = this.currentNode debugger // copyNode.previousSibling = {...node. } // copyNode.nextSibling = {...node.nextSibling} // window.sessionStorage.setItem('menuNode',CircularJSON.stringify(copyNode)) let nodeData = {} if (type === 'up') { // ä¸ç§» if (node.previousSibling) { // å é¤åå çnode this.$refs.tree.remove(node.data) // æ¿å°copyçnode // nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode')) // // å¤å¶è¯¥nodeå°æå®ä½ç½®(åæ°ï¼1. è¦å¢å çèç¹ç data 2. è¦å¢å çèç¹çåä¸ä¸ªèç¹ç dataãkey æè node) // this.$refs.tree.insertBefore(nodeData.data,nodeData.previousSibling.data) window.sessionStorage.removeItem('menuNode') } else { // ä¸ç§» if (node.nextSibling) { this.$refs.tree.remove(node.data) nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode')) // åæ°ï¼1. è¦å¢å çèç¹ç data 2. è¦å¢å çèç¹çåä¸ä¸ªèç¹ç dataãkey æè node this.$refs.tree.insertAfter(nodeData.data,nodeData.nextSibling.data) window.sessionStorage.removeItem('menuNode') } else { this.$message.warning('该èåå·²ç»æ¯å½å屿ä¸çº§') } this.$message.warning('该èåå·²ç»æ¯å½å屿ä¸çº§') } }, } else { // ä¸ç§» if (node.nextSibling) { this.$refs.tree.remove(node.data) nodeData = CircularJSON.parse(window.sessionStorage.getItem('menuNode')) // åæ°ï¼1. è¦å¢å çèç¹ç data 2. è¦å¢å çèç¹çåä¸ä¸ªèç¹ç dataãkey æè node this.$refs.tree.insertAfter(nodeData.data, nodeData.nextSibling.data) window.sessionStorage.removeItem('menuNode') } else { this.$message.warning('该èåå·²ç»æ¯å½å屿ä¸çº§') } } }, handleDragStart(node, ev) { @@ -411,7 +420,13 @@ if (std.length == 0 && checked == true) { this.setAddLayers(data) } var layers_ol = window.map.getAllLayers(); for (var i in layers_ol) { var layerOl = layers_ol[i]; if (layerOl.values_.name == data.label) { layerOl.setVisible(checked); //æ¾ç¤ºå¾å± } } }, setAddLayers(res) { @@ -430,6 +445,20 @@ }); layerWMS.name = res.label; window.Viewer.imageryLayers.addImageryProvider(layerWMS); var layer2 = new Image({ name: res.label, source: new ImageWMS({ crossOrigin: 'anonymous', url: url, params: { FORMAT: 'image/png', VERSION: '1.1.1', LAYERS: res.resource, }, }), }); window.map.addLayer(layer2); } else if (res.layerType == 'WFS') { var url = res.url + "?service=WFS&version=1.0.0&request=GetFeature&typeName=" + res.resource + "&outputFormat=application%2Fjson" @@ -454,6 +483,18 @@ console.log("error"); } }); var vectorLayer = new VectorLayer({ source: new VectorSource({ url: url, format: new GeoJSON(), }), }); window.map.addLayer(vectorLayer); }