use the mousewheel handler

This commit is contained in:
Éric Lemoine
2012-07-09 09:28:56 +02:00
parent 2c61e16b55
commit 9e693f29c5
2 changed files with 17 additions and 5 deletions
+14 -2
View File
@@ -504,12 +504,24 @@ ol.Map.prototype.setViewport = function() {
'class': 'ol-viewport', 'class': 'ol-viewport',
'style': 'width:100%;height:100%;top:0;left:0;position:relative;overflow:hidden' 'style': 'width:100%;height:100%;top:0;left:0;position:relative;overflow:hidden'
})); }));
var dragHandler = new ol.handler.Drag(this, this.viewport_); this.initHandlers();
this.registerDisposable(dragHandler);
} }
goog.dom.appendChild(this.container_, this.viewport_); goog.dom.appendChild(this.container_, this.viewport_);
}; };
/**
* Init the map event handlers.
*/
ol.Map.prototype.initHandlers = function() {
goog.asserts.assert(!goog.isNull(this.viewport_));
var dragHandler = new ol.handler.Drag(this, this.viewport_);
this.registerDisposable(dragHandler);
var mouseWheelHandler = new ol.handler.MouseWheel(this, this.viewport_);
this.registerDisposable(mouseWheelHandler);
};
ol.Map.prototype.createRenderer = function() { ol.Map.prototype.createRenderer = function() {
var Renderer = ol.renderer.MapRenderer.pickRendererType( var Renderer = ol.renderer.MapRenderer.pickRendererType(
+3 -3
View File
@@ -38,7 +38,7 @@ ol.control.Navigation.prototype.activate = function() {
// navigation control. // navigation control.
var target = this.map_.getParentEventTarget(); var target = this.map_.getParentEventTarget();
goog.events.listen(target, 'drag', this.moveMap, false, this); goog.events.listen(target, 'drag', this.moveMap, false, this);
goog.events.listen(target, 'scroll', this.zoomMap, false, this); goog.events.listen(target, 'mousewheel', this.zoomMap, false, this);
} }
return active; return active;
}; };
@@ -49,7 +49,7 @@ ol.control.Navigation.prototype.deactivate = function() {
if (inactive) { if (inactive) {
var target = this.map_.getParentEventTarget(); var target = this.map_.getParentEventTarget();
goog.events.unlisten(target, 'drag', this.moveMap, false, this); goog.events.unlisten(target, 'drag', this.moveMap, false, this);
goog.events.unlisten(target, 'scroll', this.zoomMap, false, this); goog.events.unlisten(target, 'mousewheel', this.zoomMap, false, this);
} }
return inactive; return inactive;
}; };
@@ -76,7 +76,7 @@ ol.control.Navigation.prototype.zoomMap = function(evt) {
var map = me.map_, var map = me.map_,
step = evt.deltaY / Math.abs(evt.deltaY); step = evt.deltaY / Math.abs(evt.deltaY);
map.setZoom(map.getZoom()-step, map.getEvents().getPointerPosition(evt)); map.setZoom(map.getZoom()-step, evt.position);
// We don't want the page to scroll. // We don't want the page to scroll.
evt.preventDefault(); evt.preventDefault();
return false; return false;