Cope with rotation in keyboard pan

This commit is contained in:
Tom Payne
2013-03-07 20:13:38 +01:00
parent cd37031456
commit 47f1b8cb0a

View File

@@ -55,6 +55,7 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
var view = map.getView(); var view = map.getView();
goog.asserts.assert(view instanceof ol.View2D); goog.asserts.assert(view instanceof ol.View2D);
var resolution = view.getResolution(); var resolution = view.getResolution();
var rotation = view.getRotation();
var mapUnitsDelta = resolution * this.delta_; var mapUnitsDelta = resolution * this.delta_;
var deltaX = 0, deltaY = 0; var deltaX = 0, deltaY = 0;
if (keyCode == goog.events.KeyCodes.DOWN) { if (keyCode == goog.events.KeyCodes.DOWN) {
@@ -66,8 +67,9 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
} else { } else {
deltaY = mapUnitsDelta; deltaY = mapUnitsDelta;
} }
view.pan(map, new ol.Coordinate(deltaX, deltaY), var delta = new ol.Coordinate(deltaX, deltaY);
ol.interaction.KEYBOARD_PAN_DURATION); delta.rotate(rotation);
view.pan(map, delta, ol.interaction.KEYBOARD_PAN_DURATION);
keyEvent.preventDefault(); keyEvent.preventDefault();
mapBrowserEvent.preventDefault(); mapBrowserEvent.preventDefault();
} }