在openLayers中导出地图

在openLayers中导出地图,openlayers,Openlayers,我正试图将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 openLayers地图导出到画布中,但这样做的方法似乎已经消失了

旧方法的工作原理如下:

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

var canvas = OpenLayers.Util.getElement("exportedImage");
exportMapControl.trigger(canvas);   
有人知道2.13.1的工作原理吗


提前感谢,

ExportMap控件实际上从来都不是官方OpenLayers发行版的一部分(您可以通过签出和浏览历史记录来确认这一点)。上面的示例来自一个沙箱,它似乎是用户提交的增强建议()

这个。
加载OL2.13.1后只需导入它,它应该可以作为
OpenLayers.Control.ExportMap
再次使用。除非它所依赖的OL的其他部分在此期间被更改,否则它应该像以前一样工作。

我不会在这里编写整个函数(因为它已经在两个堆栈站点上),但允许您为您的OpenLayers 2地图导出数据URL

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

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


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

我面临着同样的问题。。。这不适用于我的代码,我添加了
ExportMap.js
Grid.js
,我只使用WMS层,但回答的解决方案不适用于我…:(