From e4bc365cdca026cf7c94717eb5fad3b80cce1567 Mon Sep 17 00:00:00 2001
From: shuishen <1109946754@qq.com>
Date: Thu, 22 Jan 2026 16:00:24 +0800
Subject: [PATCH] feat:添加地形及报错处理
---
applications/drone-command/src/utils/cesium/publicCesium.js | 52 ++++++++--------------------------------------------
1 files changed, 8 insertions(+), 44 deletions(-)
diff --git a/applications/drone-command/src/utils/cesium/publicCesium.js b/applications/drone-command/src/utils/cesium/publicCesium.js
index 7fb65d2..94c734e 100644
--- a/applications/drone-command/src/utils/cesium/publicCesium.js
+++ b/applications/drone-command/src/utils/cesium/publicCesium.js
@@ -178,50 +178,14 @@
this.viewer?.cesiumWidget.screenSpaceEventHandler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK) // 禁用双击
if (terrain) {
- try {
- const noTerrainMechanism = ['1962779164650135554']
- if (noTerrainMechanism.includes(store.state.user.userInfo?.deptId)) {
- // 使用Cesium World Terrain
- Cesium.createWorldTerrainAsync({
- requestWaterMask: false, // 请求水域效果
- requestVertexNormals: true // 请求光照和地形法线
- }).then(terrainProvider => {
- this.viewer.terrainProvider = terrainProvider
- terrainLoadCallback?.()
- })
- } else {
- /*// 正则:第一位非0,第二位任意数字,后10位都是0
- const re = /^[1-9]\d0{10}$/
-
- let result = null
-
- // 1️⃣先判断 areaCode
- if (re.test(store.state.user.userInfo.detail.areaCode)) {
- result = store.state.user.userInfo.detail.areaCode.slice(0, 6)
- } else {
- // 2️⃣如果不满足,从 ancestors 里找
- const matchedItems = store.state.user.userInfo.detail.ancestors
- .split(',')
- .filter(item => re.test(item)) // 过滤出符合条件的
-
- // 取第一个符合条件的前6位(可以改成 last one 看需求)
- if (matchedItems.length > 0) {
- result = matchedItems[0].slice(0, 6)
- }
- }
-
- // 使用公司地形
- Cesium.CesiumTerrainProvider.fromUrl(`${import.meta.env.VITE_APP_TERRAIN_URL}${result}`, {
- requestVertexNormals: true, // 启用地形法线增强立体感
- requestWaterMask: true, // 启用水体遮罩效果
- }).then(terrainProvider => {
- this.viewer.terrainProvider = terrainProvider
- terrainLoadCallback?.()
- })*/
- }
- } catch (error) {
- console.error('地形加载失败:', error)
- }
+ // 使用公司地形
+ Cesium.CesiumTerrainProvider.fromUrl(`${import.meta.env.VITE_APP_TERRAIN_URL}ja_terrain`, {
+ requestVertexNormals: true, // 启用地形法线增强立体感
+ requestWaterMask: true, // 启用水体遮罩效果
+ }).then(terrainProvider => {
+ this.viewer.terrainProvider = terrainProvider
+ terrainLoadCallback?.()
+ })
}
this.viewer.scene.screenSpaceCameraController.maximumZoomDistance = 4500000
--
Gitblit v1.9.3