| | |
| | | "js-base64": "^3.7.5", |
| | | "jsencrypt": "^3.3.2", |
| | | "mitt": "^3.0.1", |
| | | "ol": "^7.3.0", |
| | | "ol": "^7.5.1", |
| | | "particles.vue3": "^2.9.3", |
| | | "terraformer-wkt-parser": "^1.2.1", |
| | | "vue": "^3.2.13", |
| | |
| | | } |
| | | this.oldLeftMenuId = res.id; |
| | | |
| | | |
| | | |
| | | switch (res.id) { |
| | | case "l1": |
| | | store.state.isShowMap = true; |
| | | break; |
| | | case "l2": |
| | | store.state.isShowMap = true; |
| | | break; |
| | | case "l3": //å¨çº¿å¶å¾ |
| | | store.state.isShowMap = true; |
| | | this.setThematicMap(); |
| | | break; |
| | | case "l4": |
| | | store.state.isShowMap = true; |
| | | break; |
| | | case "l5": |
| | | store.state.isShowMap = false |
| | | break; |
| | | case "l6": |
| | | store.state.isShowMap = true; |
| | | break; |
| | | } |
| | | }, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | |
| | | import { Map, View } from "ol";//å°å¾,è§å¾ |
| | | import OSM from "ol/source/OSM"; //å¯ä»¥çè§£ä¸ºæ°æ®æº,å°±æ¯ä¸å¼ å¾ç |
| | | import TileLayer from "ol/layer/Tile"; //å¯ä»¥ç解为å¾å± |
| | | import { fromLonLat } from "ol/proj";//å°åæ ä»ç»åº¦/纬度转æ¢ä¸ºä¸åçæå½±ã |
| | | import XYZ from "ol/source/XYZ" |
| | | const olMap = { |
| | | initMap() { |
| | | //googleå°å¾ |
| | | var googleMapLayer = 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 map = new Map({ |
| | | target: "mapView", |
| | | layers: [googleMapLayer],//AMapLayer, baiduMapLayer |
| | | view: new View({ |
| | | center: [10997148, 4569099], |
| | | zoom: 4 |
| | | }), |
| | | }); |
| | | |
| | | }, |
| | | } |
| | | export default olMap; |
| | |
| | | import { createStore } from "vuex"; |
| | | import { setToken } from "@/utils/auth"; |
| | | import { fa } from "element-plus/es/locale"; |
| | | export default createStore({ |
| | | state: { |
| | | loginCode: "", |
| | |
| | | showDetails: false, |
| | | }, |
| | | restLayer: false, |
| | | isShowMap: true, |
| | | }, |
| | | mutations: { |
| | | //è·åç»å½Code |
| | |
| | | <template> |
| | | <div class="body_box"> |
| | | <div id="cesiumContainer"> |
| | | |
| | | </div> |
| | | <export-map |
| | | v-if="layerExportshow" |
| | | @SETexportMap="SETexportMap" |
| | |
| | | <details-query v-if="store.state.details.showDetails"> |
| | | |
| | | </details-query> |
| | | <div v-if="store.state.isShowMap"> |
| | | <map-view></map-view> |
| | | </div> |
| | | <div v-if="!store.state.isShowMap"> |
| | | <ol-map></ol-map> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | //åºé¨èå |
| | | import bottomBtn from "@/components/bottomBtn.vue"; |
| | | import exportMap from "./export/exportMap.vue"; |
| | | import InitMap from "@/assets/js/Map/index.js"; |
| | | import mapView from "@/views/Map/mapView.vue"; |
| | | import olMap from "@/views/Map/olMap.vue"; |
| | | //ç»çº¬åº¦æ¾ç¤º |
| | | import mouseMove from "@/components/mouseMove.vue"; |
| | | //ç©ºé´æ¥è¯¢ |
| | |
| | | import router from "@/router"; |
| | | import { useStore } from "vuex"; // å¼å
¥useStore æ¹æ³ |
| | | |
| | | let map; |
| | | var viewer; |
| | | const store = useStore(); // è¯¥æ¹æ³ç¨äºè¿åstore å®ä¾ |
| | | const layerExportshow = ref(false); |
| | | const layerSpatialshow = ref(false); |
| | | const layerLocationshow = ref(false); |
| | | const init = () => { |
| | | viewer = InitMap.Viewer; |
| | | map = InitMap.sgworld; |
| | | window.setMouseMove(true); |
| | | }; |
| | | |
| | | //å
³éç¶æ |
| | | const SETexportMap = (res) => { |
| | | layerExportshow.value = res; |
| | |
| | | router.push("/Login"); |
| | | } |
| | | |
| | | InitMap.init3DMap(); |
| | | init(); |
| | | // setCloseNavigatBar(); |
| | | window.functionForJs = functionForJs; |
| | | store.state.isShowMap = true; |
| | | }); |
| | | </script> |
| | | <style lang="less" scoped> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div |
| | | id="cesiumContainer" |
| | | class="cesiumContainer" |
| | | > |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import InitMap from "@/assets/js/Map/index.js"; |
| | | import { |
| | | ref, |
| | | onMounted, |
| | | onBeforeUnmount, |
| | | reactive, |
| | | defineProps, |
| | | defineEmits, |
| | | nextTick, |
| | | } from "vue"; |
| | | import store from "@/store"; |
| | | let map; |
| | | var viewer; |
| | | const init = () => { |
| | | viewer = InitMap.Viewer; |
| | | map = InitMap.sgworld; |
| | | // store.state.restLayer = true; |
| | | }; |
| | | onMounted(() => { |
| | | InitMap.init3DMap(); |
| | | init(); |
| | | window.setLayer(); |
| | | window.setMouseMove(true); |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .cesiumContainer { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div |
| | | id="mapView" |
| | | class="mapView" |
| | | ></div> |
| | | </template> |
| | | |
| | | <script lang="ts" setup> |
| | | import olMap from "@/assets/js/Map/olMap"; |
| | | import { |
| | | ref, |
| | | onMounted, |
| | | onBeforeUnmount, |
| | | reactive, |
| | | defineProps, |
| | | defineEmits, |
| | | } from "vue"; |
| | | onMounted(() => { |
| | | olMap.initMap(); |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .mapView { |
| | | width: 100%; |
| | | height: 100%; |
| | | margin: 0; |
| | | padding: 0; |
| | | position: absolute; |
| | | } |
| | | </style> |
| | |
| | | let list = ref([]); |
| | | const activceIndex = ref(); |
| | | const setProjectionLayerChange = (res) => { |
| | | server.delLayerAll(); |
| | | projection.addTreeData(res); |
| | | // projection.addTreeData(res); |
| | | activceIndex.value = res.id; |
| | | store.state.restLayer = true; |
| | | // store.state.restLayer = true; |
| | | }; |
| | | const getProjectionLayer = async () => { |
| | | const data = await perms_selectProjectLayers(); |
| | |
| | | height: 680px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | z-index: 40; |
| | | position: absolute; |
| | | .baseMapSwitchingTitle { |
| | | width: calc(100% - 27px); |
| | | height: 42px; |
| | |
| | | const stretchValue = ref(""); |
| | | |
| | | let estreeRef = ref(); |
| | | |
| | | const setLayer = ref(); |
| | | const transparence = ref(0); |
| | | var treeData = ref([]); |
| | | var layerListData = ref([]); |
| | |
| | | { deep: true } |
| | | ); |
| | | getLayer(); |
| | | onMounted(() => {}); |
| | | onMounted(() => { |
| | | window.setLayer = getLayer; |
| | | }); |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | |
| | | height: 680px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | z-index: 40; |
| | | .layerTitle { |
| | | width: calc(100% - 27px); |
| | | height: 42px; |
| | |
| | | reactive, |
| | | defineProps, |
| | | defineEmits, |
| | | nextTick, |
| | | } from "vue"; |
| | | import { Operation } from "@element-plus/icons-vue"; |
| | | import menuData from "@/assets/js/Map/menuData"; |
| | |
| | | store.state.doubleMenu = true; |
| | | store.state.doubleMap = false; |
| | | }; |
| | | const setShowMapChange = (res) => { |
| | | switch (res.id) { |
| | | case "15": |
| | | debugger; |
| | | break; |
| | | default: |
| | | debugger; |
| | | break; |
| | | } |
| | | // store.state.isShowMap = res; |
| | | }; |
| | | const setMenuClick = (res) => { |
| | | if (res.id == "l6") { |
| | | // fullScreen.value = !fullScreen.value; |
| | | screen(); |
| | | } |
| | | |
| | | if (res.id == "l3") { |
| | | thematicMapState.value = false; |
| | | thematicMapBtnState.value = false; |
| | |
| | | position: absolute; |
| | | top: 27px; |
| | | left: 0px; |
| | | z-index: 40; |
| | | .logo_box { |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | top: 105px; |
| | | width: 71px; |
| | | height: 850px; |
| | | |
| | | z-index: 40; |
| | | .imgBox { |
| | | width: 100%; |
| | | display: flex; |
| | |
| | | height: 680px; |
| | | background: rgba(7, 8, 14, 0.8); |
| | | box-shadow: inset 0px 10px 40px 10px rgba(38, 47, 71, 1); |
| | | z-index: 40; |
| | | position: absolute; |
| | | .plottingTitle { |
| | | width: calc(100% - 27px); |
| | | height: 42px; |