html2canvas截取专题图(包含地图)

问题:html2canvas截取地图时地图空白,报错: Unable to clone WebGL context as it has preserveDrawingBuffer=false

一、情况介绍:

​ 使用如下代码进行截图时,出现地图空白情况,报错: Unable to clone WebGL context as it has preserveDrawingBuffer=false ,地图使用的框架为mapbox

const exportSave = async () => {
const element = document.getElementById('mapCanvasId');
const options = { scale: 2, backgroundColor: null, }
html2canvas(element, options).then((canvas) => {
const png = canvas.toDataURL("image/png"); // 拿到截图后转换为png图片
// 下载
down(png, '我的制图')
});
}
const down = function (url, name) {
// 创建a标签
const vectorDom = document.createElement('a')
vectorDom.href = url
vectorDom.download = name ? name : url.split(/[//]/).pop()
// console.log(name)
// 不显示a标签
vectorDom.setAttribute('display', 'none')
document.body.appendChild(vectorDom)
vectorDom.click()
setTimeout(() => {
document.body.removeChild(vectorDom)
}, 500)
}

二、解决办法:

​ 在地图初始化时添加添加如下代码:

preserveDrawingBuffer: true

结果效果如下:

html2canvas截取专题图(包含地图)的更多相关文章

  1. Mapgis地图颜色配置(专题图配置)----对比Arcgis根据属性配置图斑颜色

    对于大多数arcgis用户来说,根据属性配置图斑颜色对于大家来说应该并不陌生.本文将就arcgis图斑颜色设置与mapgis做出比对,为大家提供更为绚丽的地图配色.    Arcgis颜色配置方案 右 ...

  2. arcpy.mapping实战-专题图制图自动化

    arcpy.mapping实战-专题图制图自动化 by 李远祥 最初对arcpy.mapping感兴趣是因为一次大规模的专题地图调整的需要,由于某某单位利用ArcEngine编写的专题图出图系统,出现 ...

  3. [转] AE之分级颜色专题图渲染

    原文 AE之分级颜色专题图渲染 参考代码1 private void 分级渲染ToolStripMenuItem_Click(object sender, EventArgs e) { //值分级 I ...

  4. supermap iclient for js 标签专题图(服务端)

    <!DOCTYPE><html> <head> <meta http-equiv="Content-Type" content=" ...

  5. PDF截取矢量图

    PDF截取矢量图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 方法与步骤 下载并安装 Adobe Acrobat X Pro 软件 点击右侧按钮(工具)-页面-裁剪-单击并选择区域-双击实 ...

  6. Supermap 组合单值专题图与标签专题图演示样例

    效果图例如以下:单值专题图并显示每一个区域的相关文字信息 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29uZ2hmdQ==/font/5a6L5L2T ...

  7. html2canvas截取屏幕的方法

    html2canvas截取屏幕的方法 需要放在服务上运行,否则会报错, 放在服务器里,完美运行  处理截屏模糊的方法 html2canvas 0.5.0-beta3解决截图模糊问题 需要引入html2 ...

  8. PIE SDK专题制图下地图的的操作

    1.    功能简介 制图模式和地图模式下用的地图是同一份地图,那么在制图模式下如果需要对地图进行操作(例如地图的拉框放大,缩小),那么该如何操作呢,地图范围视图变化在制图模式下该如何监听呢,下面主要 ...

  9. D3.js系列——布局:打包图和地图

    一.打包图 打包图( Pack ),用于表示包含与被包含的关系,也可表示各对象的权重,通常用一圆套一圆来表示前者,用圆的大小来表示后者. 1.布局(数据转换) var pack = d3.layout ...

  10. 一个操作轻松截取长图,Win10上网截长图小技巧!

    截屏的方法有很多,但是有时候我们会遇到比电脑屏幕还大的图,比如网站上的长图.N条引用的评论...你要怎么截取呢?是不是最多只能截全屏?还是要做到第三方的截图软件呢? 下面介绍一种win10电脑自带的滚 ...

随机推荐

  1. 7.11考试总结(NOIP模拟11)[math·biology·english]

    吾于冥河沉浮,受尽命运捉弄,纵然汝将忘吾,吾亦伴汝身旁. 前言 考试的时候本来一看 T2 一见如故,决定 231 开题,然后瞅了一眼 T3 的题面,似曾相识. 仔细看了一眼,这,这不是差异吗,然后果断 ...

  2. yum源的基本知识

    一.yum源配置 1.本地yum源配置内容 [local]#仓库名称,自定义,担具有唯一性 '唯一性是说在yum.repos.d这个文件夹中只能有一个这个名字的yum仓库' name=local_ce ...

  3. idea 使用 mvn clean package 报错 Could not create local repository at

    使用 mac 版本的 idea 打包使用打包命令 mvn clean package 总是报错: [ERROR] Could not create local repository at /Repos ...

  4. 开发视频会议系统:使用GPU解码渲染视频

    现在,使用视频会议系统远程协同办公.沟通交流,已经非常普遍了.如果我们要开发自己的视频会议系统,那么,GPU解码渲染技术是不可缺少的. 在视频会议系统中,经常需要同时观看会议中多个参会人员的视频图像, ...

  5. linux系统下,redis如何设置密码

    1.命令方式 首先查看下密码是否存在,发现并未设置为空. -bash-4.2# cd /usr/local/redis-6.2.6/src -bash-4.2# ./redis-cli 127.0.0 ...

  6. ABC347题解

    省流:输+赢 D 按位分析. 既然两个数异或后的结果是 \(C\),那就考虑 \(C\) 中为 \(1\) 的数中有几个是在 \(X\) 当中的. 假如 \(\text{a - popcnt(X) = ...

  7. ASP.NET MVC 出现: Uncaught ReferenceError: $ is not defined

    ASP.NET MVC 出现: Uncaught ReferenceError: $ is not defined 错误 将 _Layout.cshtml 中的三行代码,移动到 <head> ...

  8. Windows 预览体验计划显示空白

    Open PowerShell as Administator.In the elevated PowerShell window, copy and paste the following comm ...

  9. cent os docker yum源

    国外镜像一般很难访问,建议配置阿里云镜像.yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/ ...

  10. 聊聊GLM-4-9B开源模型的微调loss计算

    概述 Github官方地址:GLM-4 网上已经有很多关于微调的文章,介绍各种方式下的使用,这里不会赘述.我个人比较关心的是微调时的loss计算逻辑,这点在很多的文章都不会有相关的描述,因为大多数人都 ...