openlayer地图导出指定范围图片文件
在gis系统中我们经常遇到将指定区域的地图导出为图片文件,在openlayer官网提供了导出样例https://openlayers.org/en/latest/examples/export-map.html,导出文件格式为base64编码。
but 大家在使用过程中肯能会遇到导出文件失败
该问题经过网上查阅资料发现,是由于跨域请求导致,加载地图时未设置允许跨域。设置为允许跨域后一切正常。
具体代码如下:
let layer = new ol.layer.Tile({source: new ol.source.TileSuperMapRest({url: url,extent:_map.getView().getProjection().getExtent(),crossOrigin: 'anonymous',}),});map.addLayer(layer);//导出图片文件exportMapImg(callback){let map = this.map();map.once('rendercomplete', function() {var mapCanvas = document.createElement('canvas');var size = map.getSize();mapCanvas.width = size[0];mapCanvas.height = size[1];var mapContext = mapCanvas.getContext('2d');Array.prototype.forEach.call(document.querySelectorAll('.ol-layer canvas'), function(canvas) {if (canvas.width > 0) {var opacity = canvas.parentNode.style.opacity;mapContext.globalAlpha = opacity === '' ? 1 : Number(opacity);var transform = canvas.style.transform;var matrix = transform.match(/^matrix\(([^\(]*)\)$/)[1].split(',').map(Number);CanvasRenderingContext2D.prototype.setTransform.apply(mapContext, matrix);mapContext.drawImage(canvas, 0, 0);}});var data;if (navigator.msSaveBlob) {data = mapCanvas.toDataURL();} else {data = mapCanvas.toDataURL();}callback(data);});map.renderSync();}
openlayer地图导出指定范围图片文件相关推荐
- 最近在修改statusBar,添加几张图片.编译源码包时,一直提示无法找到R.drawable.xxxx必须手动编译下指定的图片文件生成R.
最近在修改statusBar,添加几张图片.编译源码包时,一直提示无法找到R.drawable.xxxx 必须手动编译下指定的图片文件生成R. $touch frameworks/base/pac ...
- [PL/SQL]使用存储过程实现导出指定数据到文件(仿EXP)|转|
源自 crkying:http://blog.csdn.net/edcvf3/article/details/8633247 由于EXP不能导出表的指定字段(其实也可通过CREATE TABLE t ...
- 导出指定字符集dmp文件_Oracle 11G数据库导入导出终极解决方案
Oracle 11G数据库导入导出终极解决方案 前言: 导出服务器:保持导出服务器的服务器和客户端字符集一致 导入服务器:保证导入的服务器和客户端字符集与导出服务器字符姐一致. 严格按照本文档操作,数 ...
- mysql 导出bson格式_mongodb 导入导出GridFS【图片/文件/视频/音频等多媒体文件的导入导出】...
其实导入导出GridFS和其他集合一样,只是GridFS有files和chunks两个 1.进入bin目录: 2.导出GridFS数据: ./mongodump --db test-db --col ...
- npoi导出文件不保存在服务器,winform NPOI excel 导出并选择保存文件路径
public void ExcelOp(DataGridView gdv,ArrayList selHead) { if (selHead.Count==0) { MessageBox.Show(&q ...
- 经纬度坐标系分类转换以及奥维地图导出路径经纬度所属坐标系
WGS-84坐标:世界标准经纬度坐标系(GPS/北斗设备得到的经纬度) GCJ-02坐标:中国国内使用的经纬度坐标系(火星坐标系),是经过WGS-84坐标系换算得到的,比如WGS-84坐标系下经纬度为 ...
- 将地图导出为图片或PDF文件
简介 地图是以QGIS工程作为基础,提供一种工具可以方便将QGIS配置好的地图工程导出为图片或PDF文件.效果如下: 下载QQ群:610712943,1156555959(自动加群,仅供软件下载,不聊 ...
- AE 将地图导出为图片的两种方法
在ArcGIS的开发中,我们经常需要将当前地图打印(或是转出)到图片文件中.将Map或Layout中的图象转出有两种方法,一种为通过IActiveView的OutPut函数,另外一种是通过IExpor ...
- ArcGIS Engine开发系列:将地图导出为图片的两种方法
转自:http://blog.sina.com.cn/s/blog_4c5f70df0100a0ti.html 在ArcGIS的开发中,我们经常需要将当前地图打印(或是转出)到图片文件中.将Map或L ...
最新文章
- mysql单引号和双引号
- Java类class forName()方法及示例
- mongoose c++封装
- 行为型设计模式(4)—— 观察者模式(Observer Pattern)
- Log4net 配置实例
- 在c语言中逻辑或运算符失身额,我的Fortran基本用法小结【转载】
- 美赛2018b题O奖论文学习(一)
- 计算机vb题库程序代码编写,计算机二级考试.题库-vb程序题
- OSM获取城市路网数据及其矢量化
- [虎符CTF 2021]Internal System
- 佳能打印服务 android,佳能打印机app
- (DDIA)SQL与NoSQL数据模型简介
- 汽车自动驾驶级别分类
- vue项目如何部署?布署服务器后刷新404如何解决?
- matlab中figure图片大小修改
- 详解SQL中几种常用的表连接方式!
- android热更新机制
- 免费不限速跨平台文件传输神器—文件疯巢
- DBA到底要做什么?
- noi.ac 邀请赛1 By cellur925
热门文章
- Windows更新网站被黑还是被ARP病毒捉弄了?Virus.Win32.AutoRun.am
- 考研数据结构的知识点汇总
- 2015年职称计算机考试宝典,2015年职称计算机考试宝典[精].doc
- Go语言版黑白棋(十):棋子个数统计、胜负判断
- lvgl设置在屏幕上显示当前帧率(FPS)
- 常见的Quad-SPI引脚含义
- 【C++入门必看】C++从0到1入门编程
- 数模笔记(五):变异系数法
- 药一点医药软件供应商——医疗器械管理系统
- 拓扑空间(topological space )的定义