fix(图表): 优化在线地图(高德、腾讯)导出png,无法导出内容图层的问题

This commit is contained in:
jianneng-fit2cloud
2026-01-19 11:52:31 +08:00
committed by jianneng-fit2cloud
parent 060cd3f664
commit 3a29d3e71e
5 changed files with 10 additions and 10 deletions

View File

@@ -1122,7 +1122,7 @@ const mapChartTypes = ['bubble-map', 'flow-map', 'heat-map', 'map', 'symbolic-ma
*/
export function getMapElementIds(canvasDataPreview) {
const mapElementIds = []
canvasDataPreview.forEach(item => {
canvasDataPreview?.forEach(item => {
if (mapChartTypes.includes(item.innerType)) {
mapElementIds.push(item.id)
}

View File

@@ -117,7 +117,7 @@ export function downloadCanvas(type, canvasDom, name, callBack?) {
}
export function downloadCanvas2(type, canvasDom, name, callBack?) {
domToPng(canvasDom)
domToPng(canvasDom, { scale: 3 })
.then(dataUrl => {
if (type === 'img') {
const a = document.createElement('a')

View File

@@ -1630,7 +1630,7 @@ export function getMapObject(
zoom: basicStyle.autoFit === false ? basicStyle.zoomLevel : undefined,
showLabel: !(basicStyle.showLabel === false), //不支持
WebGLParams: {
preserveDrawingBuffer: true
preserveDrawingBuffer: true // 不支持
}
})
case 'qq':
@@ -1641,7 +1641,7 @@ export function getMapObject(
center,
zoom: basicStyle.autoFit === false ? basicStyle.zoomLevel : 12,
showLabel: !(basicStyle.showLabel === false),
WebGLParams: {
renderOptions: {
preserveDrawingBuffer: true
}
})

View File

@@ -139,7 +139,7 @@ const downloadH2 = type => {
downloadStatus.value = true
const mapElementIds = getMapElementIds(state.canvasDataPreview)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-prepare-picture', id))
nextTick(() => {
setTimeout(() => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
downloadCanvas2(type, vueDom, state.dvInfo.name, () => {
downloadStatus.value = false
@@ -150,7 +150,7 @@ const downloadH2 = type => {
type === 'img' ? exportLogImg(param) : exportLogPDF(param)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-unprepare-picture', id))
})
})
}, 1000)
}
const downloadAsAppTemplate = downloadType => {
@@ -192,7 +192,7 @@ const fileDownload = (downloadType, attachParams) => {
downloadStatus.value = true
const mapElementIds = getMapElementIds(state.canvasDataPreview)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-prepare-picture', id))
nextTick(() => {
setTimeout(() => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
downloadStatus.value = false
@@ -203,7 +203,7 @@ const fileDownload = (downloadType, attachParams) => {
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-unprepare-picture', id))
})
})
}, 1000)
}
const slideOpenChange = () => {

View File

@@ -145,7 +145,7 @@ const fileDownload = (downloadType, attachParams) => {
downloadStatus.value = true
const mapElementIds = getMapElementIds(state.canvasDataPreview)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-prepare-picture', id))
nextTick(() => {
setTimeout(() => {
const vueDom = previewCanvasContainer.value.querySelector('.canvas-container')
download2AppTemplate(downloadType, vueDom, state.dvInfo.name, attachParams, () => {
downloadStatus.value = false
@@ -156,7 +156,7 @@ const fileDownload = (downloadType, attachParams) => {
downloadType === 'app' ? exportLogApp(param) : exportLogTemplate(param)
mapElementIds.forEach(id => useEmitt().emitter.emit('l7-unprepare-picture', id))
})
})
}, 1000)
}
const downloadAsAppTemplate = downloadType => {