【问题标题】:Export map in openLayers在 openLayers 中导出地图
【发布时间】:2014-03-08 15:39:55
【问题描述】:

我正在尝试将 2.13.1 openLayers 地图导出到画布中,但这样做的方法似乎已经消失了。

旧方法的工作方式如下:

var exportMapControl = new OpenLayers.Control.ExportMap();
map.addControl(exportMapControl);

var canvas = OpenLayers.Util.getElement("exportedImage");
exportMapControl.trigger(canvas);   

有人知道这对 2.13.1 是如何工作的吗?

提前致谢,

【问题讨论】:

  • 我面临同样的问题...这不适用于我的代码,我已添加 ExportMap.jsGrid.js,我仅使用 WMS 层,但已回答的解决方案不适用于我... :(

标签: openlayers


【解决方案1】:

ExportMap 控件实际上从来都不是 OpenLayers 官方发行版的一部分(您可以通过查看the project on github 和浏览历史来确认这一点)。上面的示例来自一个沙盒,它似乎是用户提交的增强提案 (demo here)。

source of this custom control is available HERE。 只需在加载 OL 2.13.1 后导入它,它应该可以再次以 OpenLayers.Control.ExportMap 的形式使用。除非 OL 的其他部分依赖于更改,否则它应该像以前一样工作。

【讨论】:

    【解决方案2】:

    我不会在这里编写整个函数(因为它已经在两个堆栈站点上),但是this solution using html2canvas 允许您为 OpenLayers 2 地图导出 dataURL。

    在我的应用程序中 - 然后我使用 dataURL 使用 jsPDF 将地图添加到 pdf。

    WMS、矢量和基础层在此解决方案中导出。

    OL3 中似乎有更好的画布支持,正如我在链接的答案中提到的那样 - 我已经看到了一个非常令人信服的 OL3 的 toBlob 演示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多