欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

天地图 截屏功能

程序员文章站 2022-07-01 21:48:20
...

最近有个需求是把我用天地图api绘制轮廓、图层等截屏保存到本地

1.首先自然想到的是html2canvas,但是截屏后发现,我绘制的覆盖物出现了漂移
2.最后采用了dom-to-image,完美解决

步骤:
npm install dom-to-image
import domtoimage from ‘dom-to-image’;

// 截屏方法
    screenShot() {
    	//1.获取你要截屏的元素
      domtoimage.toPng(document.querySelector("#mapDiv"))
        .then(dataUrl => {
        //2.结果会返回base64格式,然后创建a标签,赋值到href
          var reader = dataUrl;
          var a = document.createElement("a");
          a.download = "截屏.png";//这里你可以对截屏后的图片名自定义修改,例如时间
          a.href = reader;
          document.querySelector("body").appendChild(a);
          //3.触发a标签,最后再移除,实现重复截屏
          a.click();
          document.querySelector("body").removeChild(a);
        })
        .catch(function(error) {
          console.error("失败:", error);
        });
    }