diff --git a/examples/two-layers.html b/examples/two-layers.html
index 4d7ac617ce..3e23234af5 100644
--- a/examples/two-layers.html
+++ b/examples/two-layers.html
@@ -21,7 +21,7 @@
| DOM |
WebGL |
- Canvas |
+ Canvas export map as png |
|
diff --git a/examples/two-layers.js b/examples/two-layers.js
index 4817a59a15..9d8b66ec71 100644
--- a/examples/two-layers.js
+++ b/examples/two-layers.js
@@ -48,3 +48,7 @@ var canvasMap = new ol.Map({
});
canvasMap.bindTo('layers', webglMap);
canvasMap.bindTo('view', webglMap);
+
+goog.events.listen(goog.dom.getElement('canvas-export'), 'click', function(e) {
+ e.target.href = canvasMap.getRenderer().getCanvas().toDataURL();
+});
diff --git a/src/ol/map.js b/src/ol/map.js
index 6ab92eb8b8..8c222f40df 100644
--- a/src/ol/map.js
+++ b/src/ol/map.js
@@ -345,6 +345,14 @@ goog.exportProperty(
ol.Map.prototype.getBackgroundColor);
+/**
+ * @return {ol.renderer.Map} Renderer.
+ */
+ol.Map.prototype.getRenderer = function() {
+ return this.renderer_;
+};
+
+
/**
* @return {Element} Container.
*/
diff --git a/src/ol/renderer/canvas/canvasmaprenderer.js b/src/ol/renderer/canvas/canvasmaprenderer.js
index b664dc977a..4b253c41d4 100644
--- a/src/ol/renderer/canvas/canvasmaprenderer.js
+++ b/src/ol/renderer/canvas/canvasmaprenderer.js
@@ -67,6 +67,14 @@ ol.renderer.canvas.Map.prototype.createLayerRenderer = function(layer) {
};
+/**
+ * @inheritDoc
+ */
+ol.renderer.canvas.Map.prototype.getCanvas = function() {
+ return this.canvas_;
+};
+
+
/**
* @inheritDoc
*/
diff --git a/src/ol/renderer/maprenderer.js b/src/ol/renderer/maprenderer.js
index 9553523759..bc4e8c520c 100644
--- a/src/ol/renderer/maprenderer.js
+++ b/src/ol/renderer/maprenderer.js
@@ -146,6 +146,12 @@ ol.renderer.Map.prototype.disposeInternal = function() {
};
+/**
+ * @return {Element} Canvas.
+ */
+ol.renderer.Map.prototype.getCanvas = goog.functions.NULL;
+
+
/**
* @param {ol.layer.Layer} layer Layer.
* @protected
diff --git a/src/ol/renderer/webgl/webglmaprenderer.js b/src/ol/renderer/webgl/webglmaprenderer.js
index c334e59b80..211c6bb25c 100644
--- a/src/ol/renderer/webgl/webglmaprenderer.js
+++ b/src/ol/renderer/webgl/webglmaprenderer.js
@@ -294,6 +294,14 @@ ol.renderer.webgl.Map.prototype.disposeInternal = function() {
};
+/**
+ * @inheritDoc
+ */
+ol.renderer.webgl.Map.prototype.getCanvas = function() {
+ return this.canvas_;
+};
+
+
/**
* @return {WebGLRenderingContext} GL.
*/