# 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"
。
好了,我知道的就这么多。结束了。
拜拜!
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
2021-12-21 # vue 使用 cesium 接入 gltf 模型