diff --git a/src/assets/js/websocketProtocol.ts b/src/assets/js/websocketProtocol.ts index 05b20f7..ec353c6 100644 --- a/src/assets/js/websocketProtocol.ts +++ b/src/assets/js/websocketProtocol.ts @@ -37,6 +37,7 @@ function dataProcess(websocketDataCC:any): UavDynamicInfo|null { * @return UavDynamicInfo */ function dataProcess_fromQT(websocketDataQT:any): UavDynamicInfo|null { + let data:UavDynamicInfo = { alt: 0, groundSpeed: 0, heading: 0, pitch: 0, lat: 0, lon: 0, uavId: "", uavType: "" } diff --git a/src/components/CollisionDetection.vue b/src/components/CollisionDetection.vue index 6c050d2..715a399 100644 --- a/src/components/CollisionDetection.vue +++ b/src/components/CollisionDetection.vue @@ -5,7 +5,7 @@ import { profileAnalyse } from "@/utils/map/SpatialAnalysis.ts"; import {Cartesian3} from "cesium"; -import {onMounted} from "vue"; +import {defineEmits, onMounted} from "vue"; import * as echarts from "echarts"; import {EChartsType} from "echarts"; import {useLayerStore} from "@/store/layerManagerStore.ts"; @@ -15,11 +15,15 @@ let myChart1: EChartsType = undefined let uavDisArr: number[] = [] let uavHeightArr: number[] = [] let terrainArr: number[] = [] +defineEmits(['shutdown']); onMounted(()=>{ myChart = echarts.init(document.getElementById('detection-chart')) myChart1 = echarts.init(document.getElementById('terrain-chart')) }) - +window.addEventListener('resize',function(){ + myChart.resize() + myChart1.resize() +}) const props = defineProps(['groundHeight']) /** * 绘制地形碰撞检测折线图,差值间隔为1km @@ -29,8 +33,8 @@ const props = defineProps(['groundHeight']) * @param max_dis 预先探测距离 m */ const drawTerrain = (height: number, currentPos:Cartesian3, nextPos: Cartesian3, max_dis: number) => { - // 计算地形剖面 - let res = profileAnalyse(window.viewer, [currentPos, nextPos], max_dis/1000) + // 计算地形剖面,默认采样间隔为1km + let res = profileAnalyse(window.viewer, [currentPos, nextPos],1000) // 弹出图表窗口 drawEcharts_CollisionDetection(myChart1, res.distanceArray, res.elevationArray, height, max_dis) } @@ -67,20 +71,12 @@ defineExpose({ \ No newline at end of file diff --git a/src/components/HomePage.vue b/src/components/HomePage.vue index 4a1963e..472e21e 100644 --- a/src/components/HomePage.vue +++ b/src/components/HomePage.vue @@ -3,33 +3,59 @@ import {defineComponent} from 'vue' import SceneViewer from "@/components/map/SceneViewer.vue"; import BottomBar from "@/components/map/BottomBar.vue"; import Toolbar from "@/components/toolbar.vue"; +import CollisionDetection from "@/components/CollisionDetection.vue"; +import {useMessage} from 'naive-ui' export default defineComponent({ name: "HomePage", - components: {Toolbar, BottomBar, SceneViewer} + components: {CollisionDetection, Toolbar, BottomBar, SceneViewer}, + data(){ + return { + showDetection: false, + graphHeight: 0, + message: useMessage() + } + }, + computed: { + setPageStyle: function () { + return this.showDetection? 100 - this.graphHeight : 100 + } + }, + methods: { + // 显示地形碰撞检测面板,resize地图窗口 + resizeMap(height: number) { + if(height<0) + this.showDetection = false + else{ + this.graphHeight = height + this.showDetection = true + } + }, + } }) \ No newline at end of file diff --git a/src/components/toolbar.vue b/src/components/toolbar.vue index 9441678..c7d351a 100644 --- a/src/components/toolbar.vue +++ b/src/components/toolbar.vue @@ -4,29 +4,32 @@ 创建人:Zhaipeixiu -->