vue-amap组件呈现的效果图如何截图

我们用amap呈现了几个图层后,用户觉得效果很好,想点个按钮直接将这个画面截图下来。

首先我们用Canvas的toDataURL方法可以直接获取图像数据,但是实践发现截图后是空白的。

原因在警告中:

地图的WebGL context 的preserveDrawingBuffer为false,继续查询原因:

canvas中的getContext()方法 以及 webgl中的getContext()方法-腾讯云开发者社区-腾讯云c

参考上面的网址,知道了preserveDrawingBuffer:如果值为true,则不会清除缓冲区并保留其值,直到作者清除或覆盖。原来如此,那么我们将vue-amap组件的preserveDrawingBuffer设置为true不就可以了。

查找过程:

解决方案如下:

<el-amap :zoom="8.8" :WebGLParams="{preserveDrawingBuffer:true}" :center="center" @init="initMap">

加一个动态属性WebGLParams即可,这样,vue-amap组件也可以完全控制初始化参数了。

那么,另一种方法:直接使用AMap API初始化地图,网上案例很多,如下:

vue+高德地图截图导出图片 - 简书

还有一种截图办法:html2canvas

记录一下使用html2canvas截图高德地图出现的空白问题前言 最近做了个截图功能,使用的是html2canvas,当 - 掘金

都记录下来,以后就方便了。

相关推荐
顾安r1 小时前
11.8 脚本网页 星际逃生
c语言·前端·javascript·flask
Hello.Reader1 小时前
Data Sink定义、参数与可落地示例
java·前端·网络
im_AMBER2 小时前
React 17
前端·javascript·笔记·学习·react.js·前端框架
一雨方知深秋2 小时前
2.fs模块对计算机硬盘进行读写操作(Promise进行封装)
javascript·node.js·promise·v8·cpython
谷歌开发者3 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (六)
前端·chrome·学习
一晌小贪欢3 小时前
【Html模板】电商运营可视化大屏模板 Excel存储 + 一键导出(已上线-可预览)
前端·数据分析·html·excel·数据看板·电商大屏·大屏看板
发现你走远了3 小时前
连接模拟器网页进行h5的调试(使用Chrome远程调试(推荐)) 保姆级图文
前端·chrome
街尾杂货店&4 小时前
css - 实现三角形 div 容器,用css画一个三角形(提供示例源码)简单粗暴几行代码搞定!
前端·css
顺凡4 小时前
删一个却少俩:Antd Tag 多节点同时消失的原因
前端·javascript·面试
小白路过4 小时前
CSS transform矩阵变换全面解析
前端·css·矩阵