Files
openlayers/src/ol/interaction/dragpan.js
2012-08-13 16:45:10 +02:00

47 lines
1.0 KiB
JavaScript

// FIXME cope with rotation
goog.provide('ol.interaction.DragPan');
goog.require('ol.Coordinate');
goog.require('ol.MapBrowserEvent');
goog.require('ol.interaction.Constraints');
goog.require('ol.interaction.Drag');
/**
* @constructor
* @extends {ol.interaction.Drag}
* @param {ol.interaction.Constraints} constraints Constraints.
*/
ol.interaction.DragPan = function(constraints) {
goog.base(this, constraints);
};
goog.inherits(ol.interaction.DragPan, ol.interaction.Drag);
/**
* @inheritDoc
*/
ol.interaction.DragPan.prototype.handleDrag = function(mapBrowserEvent) {
var map = mapBrowserEvent.map;
var resolution = map.getResolution();
var delta =
new ol.Coordinate(-resolution * this.deltaX, resolution * this.deltaY);
this.pan(map, delta, this.startCenter);
};
/**
* @inheritDoc
*/
ol.interaction.DragPan.prototype.handleDragStart = function(mapBrowserEvent) {
var browserEvent = mapBrowserEvent.browserEvent;
if (!browserEvent.shiftKey) {
browserEvent.preventDefault();
return true;
} else {
return false;
}
};