吉安感知网项目-前端
shuishen
2026-01-20 b4b062b12fb7f4ae1801dd8a1c34d4deea84e6cb
feat:无人机轨迹增加无人机icon
2 files modified
1 files added
17 ■■■■ changed files
applications/drone-command/src/assets/images/dataCockpit/legend/drone.png patch | view | raw | blame | history
applications/drone-command/src/assets/images/dataCockpit/map/drone.png patch | view | raw | blame | history
applications/drone-command/src/views/recordManage/historyTracks/TrajectoryDiaLog.vue 17 ●●●● patch | view | raw | blame | history
applications/drone-command/src/assets/images/dataCockpit/legend/drone.png

applications/drone-command/src/assets/images/dataCockpit/map/drone.png
applications/drone-command/src/views/recordManage/historyTracks/TrajectoryDiaLog.vue
@@ -73,6 +73,7 @@
import * as Cesium from 'cesium'
import { flyVisual } from '@/utils/cesium/mapUtil'
import { ArrowLineMaterialProperty } from '@/utils/cesium/Material'
import droneIcon from '@/assets/images/dataCockpit/map/drone.png'
const initForm = () => ({
    droneName: '',
@@ -127,6 +128,7 @@
// 渲染航线
function drawFlightPath() {
    const positions = list.value.map(p => degreesToC3(p))
    if (!positions.length) return
    droneLineEntity && geometricSource.entities.remove(droneLineEntity)
    droneLineEntity = geometricSource.entities.add({
        polyline: {
@@ -134,6 +136,16 @@
            positions: positions,
            material: arrowLineMaterialProperty,
            clampToGround: false,
        },
    })
    startDroneEntity && geometricSource.entities.remove(startDroneEntity)
    startDroneEntity = geometricSource.entities.add({
        position: positions[0],
        billboard: {
            image: droneIcon,
            width: 40,
            height: 40,
            verticalOrigin: Cesium.VerticalOrigin.CENTER,
        },
    })
    viewer.flyTo(droneLineEntity, { duration: 0 })
@@ -146,6 +158,7 @@
    viewer = null
    geometricSource = null
    droneLineEntity = null
    startDroneEntity = null
}
function getRowClassName({ row }) {
@@ -154,7 +167,7 @@
    return row?.isAlarm === 1 ? 'alarm-row' : ''
}
let viewer, geometricSource, droneLineEntity
let viewer, geometricSource, droneLineEntity, startDroneEntity
function initMap() {
    if (viewer) return
    const publicCesiumInstance = new PublicCesium({
@@ -189,7 +202,7 @@
<style scoped lang="scss">
:deep(.alarm-row) {
    background: #2B2B4C !important;
    td {
        background-color: transparent !important;
    }