OpenLayer 将地图导出到图像



我正在使用 Angular 8

我正在尝试导出使用 openlayer 创建的地图的图像/斑点,但我无法让它工作。我什至尝试将ViewChild与html2canvas一起使用,但后来我只是在div中获取了地图之外的所有内容。

@ViewChild('download', { static: false }) public download: ElementRef;
pdfDownload() {
let domElement = this.download.nativeElement as HTMLElement;
console.log(domElement);
html2canvas(domElement).then(canvas => {
var imgData = canvas.toDataURL("image/png");
console.log(imgData); //here i get a blob that has everything from the div like buttons and so on, but not the map itself thats also inside this div
});
}

我确实看到了一些带有 openlayer 的 JavaScript 版本,他们设法在不使用其他库的情况下下载它,但我无法将其转换为打字稿。

任何知道如何让它工作的人只是使用 openlayer 或 html2canvas lib?还是别的什么?

还尝试了以下方法,但没有成功,因为它基本上是同一件事

pdfDownload() {
var cnvs = document.getElementById('map');   
html2canvas(cnvs).then(canvas => {
var imgData = canvas.toDataURL("image/png");
console.log(imgData); //here i get a blob that has everything from the div like buttons and so on, but not the map itself thats also inside this div
});
}

可以使用将打印封装在控件中的 ol-ext 打印控件。

该问题与 CORS 有关

相关内容

  • 没有找到相关文章

最新更新