|
|
|
@ -51,7 +51,6 @@ import * as urls from '@/config/urls' |
|
|
|
import commonRefs from '@/utils/commonRefs' |
|
|
|
import mapHelper from '@/core/mapHelper' |
|
|
|
|
|
|
|
const LAYER_ID = 'replay-traj' |
|
|
|
const SOURCE_ID = 'replay-traj' |
|
|
|
const LINE_LAYER = 'replay-traj-line' |
|
|
|
const POINT_LAYER = 'replay-traj-points' |
|
|
|
@ -65,6 +64,7 @@ const points = ref([]) |
|
|
|
const loaded = ref(false) |
|
|
|
|
|
|
|
let mapInstance = null |
|
|
|
let pendingLoadHandler = null |
|
|
|
|
|
|
|
const recordName = computed(() => execution.value?.taskId || '执行记录') |
|
|
|
const deviceName = computed(() => execution.value?.droneSn || execution.value?.dockId || '--') |
|
|
|
@ -187,11 +187,19 @@ async function setupMap() { |
|
|
|
mapInstance = map |
|
|
|
mapHelper.toggleMapMode({ is2D: true }) |
|
|
|
const run = () => drawTrajectory(map, points.value) |
|
|
|
if (map.isStyleLoaded()) run() |
|
|
|
else map.once('load', run) |
|
|
|
if (map.isStyleLoaded()) { |
|
|
|
run() |
|
|
|
} else { |
|
|
|
pendingLoadHandler = run |
|
|
|
map.once('load', pendingLoadHandler) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
function teardownMap() { |
|
|
|
if (mapInstance && pendingLoadHandler) { |
|
|
|
mapInstance.off('load', pendingLoadHandler) |
|
|
|
pendingLoadHandler = null |
|
|
|
} |
|
|
|
clearReplayLayers(mapInstance) |
|
|
|
mapInstance = null |
|
|
|
commonRefs.clearPendingList('map') |
|
|
|
|