首页 > 其他分享 ># openlayers 截图

# openlayers 截图

时间:2023-12-21 14:37:56浏览次数:29  
标签:截图 底图 canvas link let openlayers

openlayers 截图

OK,我承认,这篇博文是一个水文。

最新做了一个功能,就是 openlayers 展示二维 GIS 数据后,可以把当前的视角导出图片。

直接写代码吧,没啥好说的:

    // 截图
    toImg() {
      if (this.map) {
        let canvas = this.map.getViewport().querySelector('canvas');
        let dataURL = canvas.toDataURL('image/png');
        let link = document.createElement('a');
        link.href = dataURL;
        link.download = 'openlayers.png';
        link.click();
      }
    },

这样就可以了,但是也许会报错,报错原因一般都是使用的底图图层存在跨域问题。所以说在加载底图的时候,设置一下允许跨域就可以了哟。

    // 加载高德底图
    addMapLay() {
      let gdMapLayer = new TileLayer({
        source: new XYZ({
          crossOrigin: "anonymous",//跨域加这行代码,加上该代码即可
          url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
        }),
      });
      this.map.addLayer(gdMapLayer);
    },

主要就是这行代码:crossOrigin: "anonymous"

好了,我知道的就这么多。结束了。

拜拜!

标签:截图,底图,canvas,link,let,openlayers
From: https://www.cnblogs.com/wjw1014/p/17918938.html

相关文章

  • VUE前端实现视频截图并上传到服务器
    做视频上传的时候有时候需要上传预览图,后端一般可以用FFMPEG来实现,前端也可以直接截图,这个功能不需要后台实现,VUE前端利用canvas画图,然后转换Base64就可以完成。1.前端代码<el-form-itemlabel="视频地址"requiredprop="videoURL"><el-upload:action="upload......
  • 开源地图库OpenLayers的简单使用
    引言最近在学习可视化的东西,这让我想起了一些以前用过的图表库,其实我在日常做的大多是普通的需求,可视化方面应用的并不多,只是偶尔会因为个别特殊的需求,去借助一些图表库来实现图表的展示,这些普通的图表库,在使用上都大差不差,并没有什么太大的区别,但是某些特殊的图表库,比如地图库,在......
  • C++调用opencv和windows api完成桌面窗口截图——以梦幻西游为例
    目录程序简介程序/数据集下载代码环境、文件结构代码分析结果展示程序简介项目编写的C++程序,根据输入的字符串,遍历所有桌面窗口标题,查找包含该标题的窗口,对该桌面窗口进行截图,以梦幻西游为例输入:桌面窗口包含的字符串比如输入“梦幻”,程序就会截取桌面“梦幻西游”的窗口输......
  • 在vue3中使用openlayers3实现track轨迹动画
    网上太多资料代码,抄来抄去,而且版本也是OL2的,部分API已经弃用基础知识不多说,直接讲重点三个关键变量//记录开始动画的时间conststartTime=ref(0);//轨迹分割的颗粒度,数值越小分的越细constparticle=20;//轨迹动画的速度,数值越大位移越快constspeed=10;根......
  • 从0到1,手把手带你开发截图工具ScreenCap------001实现基本的截图功能
    ScreenCap---Version:001说明从0到1,手把手带你开发windows端的截屏软件ScreenCap当前版本:ScreenCap---001支持全屏截图支持鼠标拖动截图区域支持拖拽截图支持保存全屏截图支持另存截图到其他位置警告注:博主所有资源永久免费,若有帮助,请点赞转发是对我莫大的帮......
  • 使用jsfpd截图并上传到文件服务器
    需求将网页上的html表单,截图并生成pdf,通过blob上传到文件服务器//获取表单元素domconstel=document.getElementById('open-reply_form');constheight=el.clientHeight;//截图,获取img图像html2canvas(el).then((canvas)=>{l......
  • 校园代拿系统 微信小程序实现截图
    任务分配:首页,发布页,搜索页,候选订单详情页的前端框架搭建:姚乃鹏,彭磊我的发布页,我的任务页,发布订单详情页,接单任务详情页,搜索项详情页的前端框架搭建:周磊,姚乃鹏,刘绍洋个人页,我的投诉页,联系客服页,我的信誉度页前端框架搭建:任思正,包铭昊所有前端U......
  • python实现Excel指定区域截图
    方法一:xlwingsimportos.pathimporttimeimportuuidfromioimportBytesIOfromtypingimportUnionimportxlwingsasxwfromPILimportImageGrabdefexcel_grab(excel_path,sheet_name:Union[str,int]=0,cell_area=None,pic_path=None,visible=False,......
  • 浅写一个Python脚本归档Windows的截图
    添加到计划任务每月运行fromdatetimeimportdatetimeimportos#这里使用了Windows的环境变量,需在计划任务中指定你的用户PATH_SCREENSHOTS=r'C:\Users\%USERNAME%\Pictures\Screenshots'PATH_7Z=r'C:\ProgramFiles\7-Zip\7z.exe'ifos.path.isfile(r'C:\Progra......
  • 常用截图方法
    一、截图与画图工具可编辑mspaint,配合截图快捷键实现全屏截图(printSreen),窗口截图(alt+printScreen),自定义截图(win+shift+s) 二、chrom网页长截图f12开发者模式-ctrl+shift+p调出命令框-fullsizescreenshot-进行网页的全内容的截图 三、任务文件滚动截图借助fastSt......