【发布时间】:2018-03-08 11:18:25
【问题描述】:
我正在尝试使用html2canvas (http://html2canvas.hertzen.com) 对包含谷歌地图视图的页面进行屏幕截图,但我遇到了一个问题,即生成的屏幕截图是白色的,除了标记。 (可能)使问题复杂化的是我正在(试图)创建一个 React 应用程序。
我用这段代码截图:
takeScreenshot = () => {
let googleMapsView = document.querySelector('.google-map');
html2canvas(googleMapsView).then((canvas) => {
let imgData = canvas.toDataURL('image/png');
console.log(imgData);
});
}
以上代码生成如下图片:
如您所见,它会生成屏幕截图并捕获标记和底部的“Map Data ©2018 Google”,但是生成的屏幕截图仍然是空白的。
在他们 Github 上的文档中,我在这里看到了一个预加载选项:https://github.com/niklasvh/html2canvas/wiki/Documentation#preload-content
但是,自 0.5.0 beta 版本以来,这似乎已从库中删除 - 它们现在位于 1.0.0 alpha 中,因此回到如此过时的库并不是一个真正的选择。
如何告诉 html2canvas 在截屏之前等待 GMaps 组件被渲染?
【问题讨论】:
标签: reactjs html2canvas react-google-maps