吉安感知网项目-前端
罗广辉
2026-02-03 5c98518ee202640474bc3ee2647f73c1889c0e40
feat: 航线高度
1 files modified
35 ■■■■ changed files
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue 35 ●●●● patch | view | raw | blame | history
applications/task-work-order/src/views/orderView/orderManage/inspectionRequest/ViewDiaLog.vue
@@ -450,49 +450,46 @@
})
// 获取航线详情
function getAirDetails() {
    console.log(formData.value)
    const dockHeight = formData.value.height
    queryAirById(formData.value.patrolRouteUrl).then(res => {
        const list = res.data.data.airlineWaypoints
        const {airlineWaypoints,airlineSetting:{globalAirlineHeight,airlineHeightMode}} = res.data.data
        const relative = airlineHeightMode === 'relativeToStartPoint'
        const list = airlineWaypoints
        if (!list.length) return mapRef.value?.flyBoundary()
        const result = list.map(item => [Number(item.longitude), Number(item.latitude)]).flat()
        const result = list.map(item => {
            let height = item?.globalHeight || globalAirlineHeight
            if (relative){
                height = height + Number(dockHeight)
            }
            return [Number(item.longitude), Number(item.latitude),height || 0]
        })
        viewer.entities.add({
            polyline: {
                positions: Cesium.Cartesian3.fromDegreesArray(result),
                clampToGround: true,
                positions: Cesium.Cartesian3.fromDegreesArrayHeights(result.flat()),
                width: 4,
                material: arrowLineMaterialProperty,
            },
        })
        // 渲染起点(蓝色)
        const startPoint = list[0]
        const startPoint = result[0]
        viewer.entities.add({
            position: Cesium.Cartesian3.fromDegrees(
                Number(startPoint.longitude),
                Number(startPoint.latitude),
                startPoint.height || 0
            ),
            position: Cesium.Cartesian3.fromDegrees(Number(startPoint[0]), Number(startPoint[1]), startPoint[2]),
            point: {
                pixelSize: 12,
                color: Cesium.Color.BLUE,
                outlineColor: Cesium.Color.WHITE,
                outlineWidth: 2,
                heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
            },
        })
        // 渲染终点(红色)
        const endPoint = list[list.length - 1]
        const endPoint = result[result.length - 1]
        viewer.entities.add({
            position: Cesium.Cartesian3.fromDegrees(
                Number(endPoint.longitude),
                Number(endPoint.latitude),
                endPoint.height || 0
            ),
            position: Cesium.Cartesian3.fromDegrees(Number(endPoint[0]), Number(endPoint[1]), endPoint[2]),
            point: {
                pixelSize: 12,
                color: Cesium.Color.RED,
                outlineColor: Cesium.Color.WHITE,
                outlineWidth: 2,
                heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
            },
        })
        flyVisual({