目录

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

目录

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

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

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

原因在警告中:

https://i-blog.csdnimg.cn/direct/a9dcca4d5ce948a99b6286471aad08d5.png

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

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

查找过程:

https://i-blog.csdnimg.cn/direct/c75ee3ce03cd445bb1b34fdab108dd97.png

解决方案如下:

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

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

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

还有一种截图办法:html2canvas

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