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

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

相关推荐
LFly_ice12 分钟前
学习React-16-useContext
前端·学习·react.js
陈陈CHENCHEN19 分钟前
使用 Vite 快速创建 React 项目 - SuperMap iClient JavaScript / Leaflet
前端·react.js
用户68833620597022 分钟前
Progressive Web App (PWA)
前端
沢田纲吉23 分钟前
《LLVM IR 学习手记(二):变量表达式编译器的实现与深入解析》
前端·编程语言·llvm
小徐_233324 分钟前
VitePress 博客变身 APP,支持离线访问,只需这一招。
前端·vitepress·pwa
猪哥帅过吴彦祖24 分钟前
第 5 篇:WebGL 从 2D 到 3D - 坐标系、透视与相机
前端·javascript·webgl
折七25 分钟前
expo sdk53+ 集成极光推送消息推送 ios swift
前端·javascript·ios
猪哥帅过吴彦祖26 分钟前
Flutter 系列教程:布局基础 (上) - `Container`, `Row`, `Column`, `Flex`
前端·flutter·ios
lifejump26 分钟前
DVWA | XSS 跨站脚本注入
前端·xss
gplitems12327 分钟前
Tripfery - Travel & Tour Booking WordPress Theme Tested
前端