vue + html2canvas + ArcGIS 3.x 地图一键截图功能踩坑之路(一)

本文记录了在Vue项目中结合html2canvas和ArcGIS 3.x实现地图一键截图功能所遇到的挑战,包括地图组件的封装导致html2canvas失效的问题,以及如何通过在地图外层添加div并指定ref来解决这个问题。
摘要由CSDN通过智能技术生成

 坑有点多,层出不穷。好在还是基本做出来了。。。

  • 地图情况:用了position:fixed定位,地图上还有各种自己画的线段、点、多边形区域。
  • 功能目标:一键截图,能把地图区域的内容直接截取出来。

1、基础截图功能代码:

先安装html2canvas

装包: npm install --save html2canvas

导入: import html2canvas from 'html2canvas';

<el-button type="success" size="mini" icon="el-icon-scissors" @click="screenShot">
    截图工具
</el-button>
...
<div id="mapView" ref="target">......地图......</div>
screenShot() {
    html2canvas(this.$refs.target, {
        useCORS: true, // 如果截图的内容里有图片,可能会有跨域的情况,加上这个参数,解决文件跨域问题
    }).then((canvas) => {
        if (navigator.msSaveBlob) {
            //IE10+
            let blob = canvas.msToBlob();
            return navigator.msSaveBlob(blob
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值