html2canvas 截取地图

使用html2canvas截图,截取其他的还可以,但是在截取地图的时候会出现toDataURL的问题,怎么解决跨域截取到当前地图图片?

阅读 9.8k
2 个回答

目前也在做地图项目,需要截图,所以说一下自己怎么解决的,另外仍然存在的问题。
跨域问题只要加个参数就可以成功截到

html2canvas(document.querySelector("#googleMap"), {
            useCORS : true,
            foreignObjectRendering : true,
            allowTaint :false
        }).then(canvas => {document.body.appendChild(canvas)});

useCORS,foreignObjectRendering,allowTaint这三个参数,是在github讨论区上看到这么设置的,目前firefox和chrome,IE浏览器截取地图都没问题,没有跨域问题。
但是safari有问题,一旦地图被拖动了就会截不全,也会提示跨域问题,头疼的要死,期待大神能搞定我的问题

Unable to get image data from canvas because the canvas has been tainted by cross-origin data.

图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题