首页 / 浏览问题 / WebGIS / 问题详情
用ol 地图打印 跨域 调用了天地图 iserver与项目会部署在两台服务器
16EXP 2020年12月22日
let terLayer = new ol.layer.Tile({
  crossOrigin: 'anonymous',
  visible: true,
  source: new ol.source.TileSuperMapRest({
    url: this.mapServerUrl + "/map-tianditu/rest/maps/地形底图_经纬度",
    transparent: true
  }),
  projection: 'EPSG:4326',
});
document.querySelectorAll('.ol-viewport canvas'),
function (canvas) {
  if (canvas.width > 0) {
    var opacity = canvas.parentNode.style.opacity;
    mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);
    // var transform = canvas.style.transform;
    // Get the transform parameters from the style's transform matrix
    /*var matrix = transform
      .match(/^matrix\(([^\(]*)\)$/)[1]
      .split(',')
      .map(Number);*/
    // Apply the transform to the export map context
    CanvasRenderingContext2D.prototype.setTransform.apply(
      mapContext,
      [1, 0, 0, 1, 0, 0]
    );
    mapContext.drawImage(canvas, 0, 0);
  }
}

1个回答

请详细描述一下您的问题呢?web打印请参考https://iclient.supermap.io/examples/openlayers/editor.html#webPrintingJob

2,842EXP 2020年12月22日
地图底图是天地图,打印地图 canvas转图片 提示跨域 无法打印 Failed to execute 'toDataURL' on 'HTMLCanvasElement': Tainted canvases may not be exported. wo 我这里不是使用webmap
...