diff --git a/examples/side-by-side.html b/examples/side-by-side.html
index 6aa2307ef5..ffc817397b 100644
--- a/examples/side-by-side.html
+++ b/examples/side-by-side.html
@@ -16,19 +16,22 @@
Side-by-side example
- Side-by-side DOM and WebGL sync'ed maps.
+ Side-by-side DOM, WebGL and Canvas sync'ed maps.
diff --git a/examples/side-by-side.js b/examples/side-by-side.js
index 540a277e76..1c32f475e5 100644
--- a/examples/side-by-side.js
+++ b/examples/side-by-side.js
@@ -62,6 +62,22 @@ webglMap.getControls().push(new ol.control.MousePosition({
undefinedHTML: ' '
}));
+var canvasMap = new ol.Map({
+ renderer: ol.RendererHint.CANVAS,
+ target: 'canvasMap'
+});
+if (canvasMap !== null) {
+ canvasMap.bindTo('layers', domMap);
+ canvasMap.bindTo('view', domMap);
+}
+
+canvasMap.getControls().push(new ol.control.MousePosition({
+ coordinateFormat: ol.Coordinate.toStringHDMS,
+ projection: ol.Projection.getFromCode('EPSG:4326'),
+ target: document.getElementById('canvasMousePosition'),
+ undefinedHtml: ' '
+}));
+
var keyboardInteraction = new ol.interaction.Keyboard();
keyboardInteraction.addCallback('0', function() {
layer.setBrightness(0);
@@ -94,11 +110,13 @@ keyboardInteraction.addCallback('j', function() {
var bounce = ol.animation.createBounce(2 * view.getResolution());
domMap.addPreRenderFunction(bounce);
webglMap.addPreRenderFunction(bounce);
+ canvasMap.addPreRenderFunction(bounce);
});
keyboardInteraction.addCallback('l', function() {
var panFrom = ol.animation.createPanFrom(view.getCenter());
domMap.addPreRenderFunction(panFrom);
webglMap.addPreRenderFunction(panFrom);
+ canvasMap.addPreRenderFunction(panFrom);
view.setCenter(LONDON);
});
keyboardInteraction.addCallback('L', function() {
@@ -111,12 +129,14 @@ keyboardInteraction.addCallback('L', function() {
var preRenderFunctions = [bounce, panFrom, spin];
domMap.addPreRenderFunctions(preRenderFunctions);
webglMap.addPreRenderFunctions(preRenderFunctions);
+ canvasMap.addPreRenderFunctions(preRenderFunctions);
view.setCenter(LONDON);
});
keyboardInteraction.addCallback('m', function() {
var panFrom = ol.animation.createPanFrom(view.getCenter(), 1000);
domMap.addPreRenderFunction(panFrom);
webglMap.addPreRenderFunction(panFrom);
+ canvasMap.addPreRenderFunction(panFrom);
view.setCenter(MOSCOW);
});
keyboardInteraction.addCallback('M', function() {
@@ -129,6 +149,7 @@ keyboardInteraction.addCallback('M', function() {
var preRenderFunctions = [bounce, panFrom, spin];
domMap.addPreRenderFunctions(preRenderFunctions);
webglMap.addPreRenderFunctions(preRenderFunctions);
+ canvasMap.addPreRenderFunctions(preRenderFunctions);
view.setCenter(MOSCOW);
});
keyboardInteraction.addCallback('o', function() {
@@ -154,10 +175,12 @@ keyboardInteraction.addCallback('x', function() {
var spin = ol.animation.createSpin(2000, 2);
domMap.addPreRenderFunction(spin);
webglMap.addPreRenderFunction(spin);
+ canvasMap.addPreRenderFunction(spin);
});
keyboardInteraction.addCallback('X', function() {
var spin = ol.animation.createSpin(2000, -2);
domMap.addPreRenderFunction(spin);
webglMap.addPreRenderFunction(spin);
+ canvasMap.addPreRenderFunction(spin);
});
domMap.getInteractions().push(keyboardInteraction);