使用 html2canvas 时 canvas 上未显示传单地图多边形

Leaflet map polygon not shown on canvas when using html2canvas

这就是我正在做的,点击一个按钮并将我的页面主体绘制成 canvas

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

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

可行,但显示的地图没有任何多边形

我通过告诉 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()
});