| | |
| | | <div class="panel-title">图层管理</div> |
| | | <div class="panel-content"> |
| | | <el-tree ref="layerTreeRef" class="command-tree map-layer-tree" :data="layerTree" |
| | | icon="el-icon-arrow-down-bold" |
| | | show-checkbox default-expand-all node-key="key" :props="layerTreeProps" |
| | | :default-checked-keys="treeCheckedKeys" @check="handleLayerCheck" /> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script setup> |
| | | |
| | | import * as Cesium from 'cesium' |
| | | import CommonCesiumMap from '@/components/map-container/common-cesium-map.vue' |
| | | import { buildEllipsePositions } from '@/utils/cesium/shapeTools' |
| | |
| | | const DETAIL_HEIGHT = 10000 |
| | | const POLYGON_HEIGHT_M = 0.2 |
| | | const DRONE_TRACK_DURATION_S = 30 * 60 |
| | | const FIXED_DRONE_TRACK_IDS = ['6000000000602', '6000000000601'] |
| | | const FIXED_DRONE_TRACK_IDS = ['6000000000609', '6000000000608'] |
| | | |
| | | const props = defineProps({ |
| | | allDevices: { |
| | |
| | | const basePoints = [ |
| | | [ |
| | | { |
| | | longitude: 114.964975, |
| | | latitude: 27.134855, |
| | | longitude: 114.929475, |
| | | latitude: 27.136575, |
| | | height: 200 |
| | | }, |
| | | { |
| | | longitude: 114.963966, |
| | | latitude: 27.132836, |
| | | longitude: 114.928466, |
| | | latitude: 27.134556, |
| | | height: 200 |
| | | }, |
| | | { |
| | | longitude: 114.963966, |
| | | latitude: 27.132836, |
| | | longitude: 114.928466, |
| | | latitude: 27.134556, |
| | | height: 320 |
| | | }, |
| | | { |
| | | longitude: 114.963974, |
| | | latitude: 27.132677, |
| | | longitude: 114.928474, |
| | | latitude: 27.134397, |
| | | height: 320 |
| | | }, |
| | | { |
| | | longitude: 114.963432, |
| | | latitude: 27.131665, |
| | | longitude: 114.927932, |
| | | latitude: 27.133385, |
| | | height: 320 |
| | | }, |
| | | { |
| | | longitude: 114.962865, |
| | | latitude: 27.130377, |
| | | longitude: 114.927365, |
| | | latitude: 27.132097, |
| | | height: 320 |
| | | }, |
| | | { |
| | | longitude: 114.965318, |
| | | latitude: 27.129925, |
| | | longitude: 114.929818, |
| | | latitude: 27.131645, |
| | | height: 320 |
| | | }, |
| | | { |
| | | longitude: 114.960144, |
| | | latitude: 27.134902, |
| | | longitude: 114.924644, |
| | | latitude: 27.136622, |
| | | height: 120 |
| | | }, |
| | | ], |
| | | |
| | | [ |
| | | { |
| | | longitude: 114.931063, |
| | | latitude: 27.095052, |
| | | longitude: 114.936386, |
| | | latitude: 26.825890, |
| | | height: 120 |
| | | }, |
| | | { |
| | | longitude: 114.928653, |
| | | latitude: 27.096307, |
| | | longitude: 114.933976, |
| | | latitude: 26.827145, |
| | | height: 120 |
| | | }, |
| | | { |
| | | longitude: 114.925958, |
| | | latitude: 27.096963, |
| | | longitude: 114.931281, |
| | | latitude: 26.827801, |
| | | height: 120 |
| | | }, |
| | | { |
| | | longitude: 114.925958, |
| | | latitude: 27.096963, |
| | | longitude: 114.931281, |
| | | latitude: 26.827801, |
| | | height: 400 |
| | | }, |
| | | { |
| | | longitude: 114.925836, |
| | | latitude: 27.096102, |
| | | longitude: 114.931159, |
| | | latitude: 26.826940, |
| | | height: 400 |
| | | }, |
| | | { |
| | | longitude: 114.928384, |
| | | latitude: 27.095866, |
| | | longitude: 114.933707, |
| | | latitude: 26.826704, |
| | | height: 400 |
| | | }, |
| | | { |
| | | longitude: 114.929874, |
| | | latitude: 27.096095, |
| | | longitude: 114.935197, |
| | | latitude: 26.826933, |
| | | height: 400 |
| | | }, |
| | | { |
| | | longitude: 114.931048, |
| | | latitude: 27.097666, |
| | | longitude: 114.936371, |
| | | latitude: 26.828504, |
| | | height: 400 |
| | | }, |
| | | ], |
| | |
| | | }, |
| | | }) |
| | | const speedMs = Math.round(Cesium.Cartesian3.distance(positions[0], positions[1]) / segmentDuration) |
| | | dronePickMap.set(droneId, { |
| | | dronePickMap.set(droneId, { |
| | | data: { |
| | | ...item, |
| | | flightHeightM: item.flightHeightM ?? points[0].height, |