问题描述
我随机遇到此问题。在Google地图上用deck.gl
绘制图标并进行屏幕截图时,有时屏幕截图会正确显示,但有时会缺少绘图标记。我正在使用HTML2Canvas
渲染屏幕截图,并使用deck.gl
在地图上绘制标记。
一旦我单击屏幕快照图标并获得正确的屏幕快照,deck.gl
画布就不会被修改,但是下一次,如果我再次获取屏幕快照,则绘图标记会消失。用于设置图标层的代码是-
deck.setProps({
layers: layers.sort(compare('id')).reverse(),glOptions: { preserveDrawingBuffer: true },onBeforeRender: () => {
console.log('called : onBeforeRender');
},onAfterRender: () => {
console.log('called : onAfterRender');
}
});
用于通过HTML2Canvas进行转换的代码-
html2canvas(document.body,getoptionsForCanvas())
.then(async function (canvas) {
setSnapshotSelected();
let a = document.createElement('a');
a.href = canvas.toDataURL('image/jpeg',1);
a.download = 'screenshot.png';
a.click();
})
getoptionsForCanvas-
return { allowTaint: true,letterRendering: 1,foreignObjectRendering: true,quality: 1,width: width,height: height,scale: ratio,useCORS: true,logging: false,ignoreElements: (node) => {
return node.nodeName === 'NOSCRIPT';
}
有人可以帮我解决此问题吗?
附上适当的屏幕截图,以及缺少情节标记的屏幕截图-
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)