javascript - 使用 html2canvas 时,传单 map 多边形未显示在 Canvas 上

标签 javascript jquery leaflet html2canvas

这就是我正在做的事情,单击按钮并将页面主体绘制到 Canvas 中

jQuery("#print").on("click", function() {
    myCapture();
});

function myCapture() {
  html2canvas(document.body, {
    allowTaint: true,
    useCORS: true,
    onrendered: function(canvas) {
      document.body.appendChild(canvas);
    }
  });
}

这可行,但 map 显示没有任何多边形

最佳答案

我通过告诉 leaflet to provide tiles as canvas 解决了这个问题而不是 svg

jQuery("#print").on("click", function() {
    myCapture();
});

function myCapture() {
  html2canvas(document.body, {
    allowTaint: true,
    useCORS: true,
    onrendered: function(canvas) {
      document.body.appendChild(canvas);
    }
  });
}

   var map = L.map('map', {
        renderer: L.canvas()
});

关于javascript - 使用 html2canvas 时,传单 map 多边形未显示在 Canvas 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43380197/

相关文章:

javascript - 动态分配的 Ajax URL 字符串在 jquery-ui 自动完成上不显示任何内容

javascript - 如何从 L.Routing.control 获取距离和时间?

javascript - 传单:如何在缩放开始之前获取 lat lng 的像素位置

javascript - 关于悬停问题的 div 隐藏和淡出

javascript - 如何使用 JavaScript\JQuery 检查一个日期是否早于另一个日期?

Jquery - 按顺序执行自定义函数调用

javascript - 来自 geojson 的传单格式值

javascript - 'overflowchanged' 事件处理程序的替代品是什么?

javascript - 用于在 JavaScript 中捕获 Heredoc 的正则表达式

javascript - 触摸移动时触发的 css 转换不一致