Parameterize pixel delta
This commit is contained in:
@@ -91,7 +91,7 @@ ol.createMap = function(target, opt_values, opt_rendererHints) {
|
|||||||
var controls = new ol.Collection();
|
var controls = new ol.Collection();
|
||||||
controls.push(new ol.control.DblClickZoom(constraints));
|
controls.push(new ol.control.DblClickZoom(constraints));
|
||||||
controls.push(new ol.control.DragPan(constraints));
|
controls.push(new ol.control.DragPan(constraints));
|
||||||
controls.push(new ol.control.KeyboardPan(constraints));
|
controls.push(new ol.control.KeyboardPan(constraints, 16));
|
||||||
controls.push(new ol.control.KeyboardZoom(constraints));
|
controls.push(new ol.control.KeyboardZoom(constraints));
|
||||||
controls.push(new ol.control.MouseWheelZoom(constraints));
|
controls.push(new ol.control.MouseWheelZoom(constraints));
|
||||||
controls.push(new ol.control.ShiftDragRotateAndZoom(constraints));
|
controls.push(new ol.control.ShiftDragRotateAndZoom(constraints));
|
||||||
|
|||||||
@@ -11,9 +11,18 @@ goog.require('ol.control.Constraints');
|
|||||||
* @constructor
|
* @constructor
|
||||||
* @extends {ol.Control}
|
* @extends {ol.Control}
|
||||||
* @param {ol.control.Constraints} constraints Constraints.
|
* @param {ol.control.Constraints} constraints Constraints.
|
||||||
|
* @param {number} pixelDelta Pixel delta.
|
||||||
*/
|
*/
|
||||||
ol.control.KeyboardPan = function(constraints) {
|
ol.control.KeyboardPan = function(constraints, pixelDelta) {
|
||||||
|
|
||||||
goog.base(this, constraints);
|
goog.base(this, constraints);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @private
|
||||||
|
* @type {number}
|
||||||
|
*/
|
||||||
|
this.pixelDelta_ = pixelDelta;
|
||||||
|
|
||||||
};
|
};
|
||||||
goog.inherits(ol.control.KeyboardPan, ol.Control);
|
goog.inherits(ol.control.KeyboardPan, ol.Control);
|
||||||
|
|
||||||
@@ -34,15 +43,16 @@ ol.control.KeyboardPan.prototype.handleMapBrowserEvent =
|
|||||||
var map = mapBrowserEvent.map;
|
var map = mapBrowserEvent.map;
|
||||||
var resolution = map.getResolution();
|
var resolution = map.getResolution();
|
||||||
var delta;
|
var delta;
|
||||||
|
var mapUnitsDelta = resolution * this.pixelDelta_;
|
||||||
if (keyCode == goog.events.KeyCodes.DOWN) {
|
if (keyCode == goog.events.KeyCodes.DOWN) {
|
||||||
delta = new ol.Coordinate(0, -16 * resolution);
|
delta = new ol.Coordinate(0, -mapUnitsDelta);
|
||||||
} else if (keyCode == goog.events.KeyCodes.LEFT) {
|
} else if (keyCode == goog.events.KeyCodes.LEFT) {
|
||||||
delta = new ol.Coordinate(-16 * resolution, 0);
|
delta = new ol.Coordinate(-mapUnitsDelta, 0);
|
||||||
} else if (keyCode == goog.events.KeyCodes.RIGHT) {
|
} else if (keyCode == goog.events.KeyCodes.RIGHT) {
|
||||||
delta = new ol.Coordinate(16 * resolution, 0);
|
delta = new ol.Coordinate(mapUnitsDelta, 0);
|
||||||
} else {
|
} else {
|
||||||
goog.asserts.assert(keyCode == goog.events.KeyCodes.UP);
|
goog.asserts.assert(keyCode == goog.events.KeyCodes.UP);
|
||||||
delta = new ol.Coordinate(0, 16 * resolution);
|
delta = new ol.Coordinate(0, mapUnitsDelta);
|
||||||
}
|
}
|
||||||
this.pan(map, delta);
|
this.pan(map, delta);
|
||||||
keyEvent.preventDefault();
|
keyEvent.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user