# openlayers 截图
  Cp0PPONmvoyE 2023年12月26日 15 0

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"

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

拜拜!

【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【Gitee地址】我是𝒆𝒅. :https://gitee.com/wjw1014



【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月26日 0

暂无评论

推荐阅读
Cp0PPONmvoyE