From cf6cd968ece9585b4fd185f26e3c39739d3420c1 Mon Sep 17 00:00:00 2001 From: Andreas Hocevar Date: Wed, 5 Apr 2017 09:41:56 +0200 Subject: [PATCH] Add example for constrained wheel zooming --- examples/mousewheel-zoom.html | 12 ++++++++++++ examples/mousewheel-zoom.js | 25 +++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 examples/mousewheel-zoom.html create mode 100644 examples/mousewheel-zoom.js diff --git a/examples/mousewheel-zoom.html b/examples/mousewheel-zoom.html new file mode 100644 index 0000000000..64ac29f801 --- /dev/null +++ b/examples/mousewheel-zoom.html @@ -0,0 +1,12 @@ +--- +layout: example.html +title: Mousewheel/Trackpad Zoom +shortdesc: Restrict wheel/trackpad zooming to integer zoom levels. +docs: > + By default, the `ol.interaction.MouseWheelZoom` can leave the map at + fractional zoom levels. If instead you want to constrain wheel/trackpad + zooming to integer zoom levels, set constrainResolution: true + when constructing the interaction. +tags: "trackpad, mousewheel, zoom, interaction" +--- +
diff --git a/examples/mousewheel-zoom.js b/examples/mousewheel-zoom.js new file mode 100644 index 0000000000..17f7c91af6 --- /dev/null +++ b/examples/mousewheel-zoom.js @@ -0,0 +1,25 @@ +goog.require('ol.Map'); +goog.require('ol.View'); +goog.require('ol.interaction'); +goog.require('ol.interaction.MouseWheelZoom'); +goog.require('ol.layer.Tile'); +goog.require('ol.source.OSM'); + + +var map = new ol.Map({ + interactions: ol.interaction.defaults({mouseWheelZoom: false}).extend([ + new ol.interaction.MouseWheelZoom({ + constrainResolution: true // force zooming to a integer zoom + }) + ]), + layers: [ + new ol.layer.Tile({ + source: new ol.source.OSM() + }) + ], + target: 'map', + view: new ol.View({ + center: [0, 0], + zoom: 2 + }) +});