| | |
| | | import AmapMercatorTilingScheme from '@/utils/cesium/AmapMercatorTilingScheme' |
| | | import { Cartesian3, Terrain, Viewer } from 'cesium' |
| | | import endPointImg from '@/assets/images/EndPointicon.png' |
| | | import startPointImg from '@/assets/images/Startingpointicon.png' |
| | | import { addBlueFilter } from '@/utils/cesium/common' |
| | | import { analyzeKmzFile, removeTextKey, XMLToJSON } from '@/utils/cesium/kmz' |
| | | import rwqfdImg from '@/assets/images/signMachineNest/rwqfd.png' |
| | |
| | | import lineImg from '@/assets/images/arrow-right-blue.png' |
| | | import { flyVisual } from '@/utils/cesium/mapUtil' |
| | | import CreateFrustum from '@/utils/cesium/frustum/CreateFrustum' |
| | | import aircraftGltf from '@/assets/gltf/aircraft.gltf' |
| | | |
| | | const imageryProvider_ammapSL = new Cesium.UrlTemplateImageryProvider({ |
| | | url: 'https://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}', |
| | |
| | | drawWayline(waylinesXMLObj) |
| | | } |
| | | |
| | | const removeMap = () => { |
| | | taskDetailsViewer?.value.entities.removeAll() |
| | | taskDetailsViewer?.value.destroy() |
| | | } |
| | | |
| | | let viewInfoFrustum |
| | | // 设置视椎 |
| | | const setCreateFrustum = () => { |
| | |
| | | }) |
| | | } |
| | | |
| | | watch(deviceOsdInfo, setCreateFrustum) |
| | | function setAircraftGltf() { |
| | | const host = deviceOsdInfo.value?.data?.host |
| | | const aircraftEntity = taskDetailsViewer.value.entities.getById('aircraftGltf') |
| | | const position = Cesium.Cartesian3.fromDegrees(host.longitude, host.latitude, host.height) |
| | | if (aircraftEntity) { |
| | | aircraftEntity.position = new Cesium.ConstantPositionProperty(position) |
| | | return |
| | | } |
| | | taskDetailsViewer.value.entities.add({ |
| | | id: 'aircraftGltf', |
| | | position, |
| | | model: { |
| | | uri: aircraftGltf, // 或 .glb |
| | | scale: 1.0, // 缩放比例 |
| | | minimumPixelSize: 64, // 最小像素尺寸(保证模型远处可见) |
| | | maximumScale: 128, // 最大缩放(可选) |
| | | }, |
| | | }) |
| | | } |
| | | |
| | | watch(deviceOsdInfo, () => { |
| | | setCreateFrustum() |
| | | setAircraftGltf() |
| | | }) |
| | | watch(taskDetails, () => { |
| | | if (taskDetails.value.way_lines.length) { |
| | | parsingFiles(taskDetails.value.way_lines[0].url) |
| | | } |
| | | }) |
| | | |
| | | const removeMap = () => { |
| | | taskDetailsViewer?.value.entities.removeAll() |
| | | taskDetailsViewer?.value.destroy() |
| | | } |
| | | |
| | | onBeforeUnmount(() => { |
| | | removeMap() |
| | | }) |
| | |
| | | </script> |
| | | <style scoped lang="scss"> |
| | | #currentTaskMap { |
| | | |
| | | :deep() { |
| | | .cesium-viewer { |
| | | width: 100%; |