use the mousewheel handler
This commit is contained in:
+14
-2
@@ -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(
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user