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,当 - 掘金

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

相关推荐
JeffongTan2 小时前
在LWC中镶嵌VF Page获取用户IP
前端·javascript·salesforce
不cong明的亚子4 小时前
web live多屏互动平台
javascript·经验分享·音视频
陆枫Larry4 小时前
Astro 是什么
前端
是立不是利5 小时前
写给设计师的 CSS 博客美学指南
前端·css
dsyyyyy11016 小时前
JS复习,难点,易错点总结
开发语言·javascript·ecmascript
默_笙6 小时前
🏝 Docker 就是"房地产开发":从施工图纸到小区物业的容器化指南
前端·javascript
计算机魔术师6 小时前
Rohan Paul 谈用时间跨度衡量智能体能力,并引用 OpenAI 自动化研究实习生里程碑
前端
kyriewen6 小时前
我手写了个极简版 React Router——才搞懂 v6 为什么砍了这么多 API
前端·javascript·程序员
a1117766 小时前
Shirone 二次元博客主题 开源
前端·开源
IT_陈寒6 小时前
Python的切片赋值把我坑惨了,这不是bug是特性
前端·人工智能·后端