diff --git a/src/assets/js/RouteManageViewer.js b/src/assets/js/RouteManageViewer.js index 9906c12..c0d64e2 100644 --- a/src/assets/js/RouteManageViewer.js +++ b/src/assets/js/RouteManageViewer.js @@ -108,7 +108,6 @@ export default class RouteManageViewer { const ellipsoid = this.viewer.scene.globe.ellipsoid; position = this.viewer.scene.camera.pickEllipsoid(e.position, ellipsoid); } - //TODO: 海拔高度转Cartesain3 Z 值 if (position){ this.positions.push(position); } diff --git a/src/components/SceneViewer.vue b/src/components/SceneViewer.vue index 0b2f3fa..559e7be 100644 --- a/src/components/SceneViewer.vue +++ b/src/components/SceneViewer.vue @@ -41,6 +41,10 @@ onMounted(() => { // 显示罗盘和比例尺 showNavigator(viewer) + // 挂载在window,供全局组件共享 + window.viewer = viewer + window.measureViewer = new MeasureViewer(viewer); + //添加天地图影像 viewer.imageryLayers.addImageryProvider( getTDTProvider(TDTLayerType.Img, TDTProjectionType.WebMercator), @@ -49,16 +53,17 @@ onMounted(() => { viewer.imageryLayers.addImageryProvider( getTDTProvider(TDTLayerType.Cia, TDTProjectionType.WebMercator), ) - // 添加三维地形服务 - viewer.terrainProvider = getTDTTerrainProvider() + + // 检查设备联网状态,添加三维地形服务 + if(window.navigator.onLine){ + // 如果断网环境执行该语句,航线绘制、三维伴飞等功能出现异常 + viewer.terrainProvider = getTDTTerrainProvider() + } + // 标记点图层,存储所有地标点 const markerLayer = new CustomDataSource('Marker') viewer.dataSources.add(markerLayer) - // 挂载在window,供全局组件共享 - window.viewer = viewer - window.measureViewer = new MeasureViewer(viewer); - }) diff --git a/src/components/page/RouteManagePage.vue b/src/components/page/RouteManagePage.vue index 9cf7e69..7d530dd 100644 --- a/src/components/page/RouteManagePage.vue +++ b/src/components/page/RouteManagePage.vue @@ -275,6 +275,7 @@ function sendRouteToQT(routeUnicode: string|number){ let selectedRoute = routeStore.flyRoute.filter(element => element.unicode === String(routeUnicode))[0] if(selectedRoute){ if(sStore.webskt.ws?.readyState == WebSocket.OPEN){ + console.log(selectedRoute) sStore.webskt.ws.send(JSON.stringify(selectedRoute)) }else { uiMsg.info('请先开启WebSocket') diff --git a/src/components/toolbar.vue b/src/components/toolbar.vue index 3013495..ff0bbc6 100644 --- a/src/components/toolbar.vue +++ b/src/components/toolbar.vue @@ -200,8 +200,8 @@ async function connectWebSocket() { SceneValue.value = 'fallow' hasPlane.value = true; } - // 加载和更新碰撞检测图(50帧更新一次) - if(frameCount>50 && lStore.openDetect){ + // 加载和更新碰撞检测图(50帧更新一次) (只在联网模式下启用) + if(frameCount>50 && lStore.openDetect && window.navigator.onLine){ emit('resizeMap', detectDivHeight.value) showDetection.value = true frameCount = 0 @@ -285,7 +285,7 @@ function startDrawRoute(routeParams) { // result是经纬度坐标数组,需转换为 AirlinePoint数组 let AirlinePoints = [] result.forEach((pt,index) => { - let AirlinePoint = {lon:pt.lon, lat:pt.lat, alt:pt.alt, ch1:routeParams.isClose? 2:0, ch2:0x03, speed:0, nPt:index+1} + let AirlinePoint = {lon:pt.lon, lat:pt.lat, alt:pt.alt, ch1:routeParams.isClose? 0:2, ch2:0x03, speed:0, nPt:index+1} AirlinePoints.push(AirlinePoint) }) AirlinePoints.at(-1).ch2 = 0x01; diff --git a/src/utils/map/TDTProvider.ts b/src/utils/map/TDTProvider.ts index b0514df..09e2373 100644 --- a/src/utils/map/TDTProvider.ts +++ b/src/utils/map/TDTProvider.ts @@ -10,6 +10,7 @@ import { WebMapTileServiceImageryProvider, GeographicTilingScheme, WebMercatorTilingScheme, + CesiumTerrainProvider } from 'cesium' import axios from 'axios'