[GIS] Export Map Error from OpenLayers 3 in Chrome

chromemapcanvasopenlayers

Im using this js file to export map in Openlayers 3 in Google Chrome but i'm getting en error saying that Uncaught DOMException: Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. I also set an cross Origin attribute as anonymous. The function of export button is as follow

var exportPNGElement = document.getElementById('export-png');
exportPNGElement.crossOrigin = "anonymous";
    if ('download' in exportPNGElement) {
      exportPNGElement.addEventListener('click', function(e) {
        map.once('postcompose', function(event) {
          var canvas = event.context.canvas;
          exportPNGElement.href = canvas.toDataURL('image/png');
        });
        map.renderSync();
      }, false);
    } else {
      var info = document.getElementById('no-download');
      /**
       * display error message
       */
      info.style.display = '';
    }

Best Answer

try adding crossOrigin: 'Anonymous' to the layer sources !

Related Question