Карта экспорта OpenLayer в изображение - PullRequest
0 голосов
/ 28 мая 2020

Я использую Angular 8

Я пытаюсь экспортировать изображение / blob моей карты, созданной с помощью 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
      });
  }

Я видел несколько javascript версий с openlayer, когда им удалось загрузить их без использования других библиотек, но Я не могу перевести это на машинописный текст.

Любой, кто знает, как заставить это работать, просто используя openlayer или библиотеку html2canvas? Или даже что-то еще?

Также безуспешно пробовал следующее, так как это в основном то же самое

 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
    });
  }

Ответы [ 2 ]

0 голосов
/ 09 июня 2020

Проблема была связана с CORS

0 голосов
/ 30 мая 2020

Вы можете использовать ol-ext print control , который инкапсулирует печать в элементе управления.

...