diff --git a/src/ol/interaction/dragpaninteraction.js b/src/ol/interaction/dragpaninteraction.js index 2cd2088d10..12c1212b5b 100644 --- a/src/ol/interaction/dragpaninteraction.js +++ b/src/ol/interaction/dragpaninteraction.js @@ -61,10 +61,12 @@ ol.interaction.DragPan.prototype.handleDrag = function(mapBrowserEvent) { // FIXME works for View2D only var view = map.getView(); goog.asserts.assertInstanceof(view, ol.View2D); - var resolution = view.getResolution(); - var rotation = view.getRotation(); - var newCenter = [-resolution * this.deltaX, resolution * this.deltaY]; - ol.coordinate.rotate(newCenter, rotation); + var view2DState = view.getView2DState(); + var newCenter = [ + -view2DState.resolution * this.deltaX, + view2DState.resolution * this.deltaY + ]; + ol.coordinate.rotate(newCenter, view2DState.rotation); ol.coordinate.add(newCenter, this.startCenter); map.requestRenderFrame(); view.setCenter(newCenter); diff --git a/src/ol/interaction/keyboardpaninteraction.js b/src/ol/interaction/keyboardpaninteraction.js index ecd780c430..7ebd1fd329 100644 --- a/src/ol/interaction/keyboardpaninteraction.js +++ b/src/ol/interaction/keyboardpaninteraction.js @@ -64,9 +64,8 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent = // FIXME works for View2D only var view = map.getView(); goog.asserts.assertInstanceof(view, ol.View2D); - var resolution = view.getResolution(); - var rotation = view.getRotation(); - var mapUnitsDelta = resolution * this.delta_; + var view2DState = view.getView2DState(); + var mapUnitsDelta = view2DState.resolution * this.delta_; var deltaX = 0, deltaY = 0; if (keyCode == goog.events.KeyCodes.DOWN) { deltaY = -mapUnitsDelta; @@ -78,7 +77,7 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent = deltaY = mapUnitsDelta; } var delta = [deltaX, deltaY]; - ol.coordinate.rotate(delta, rotation); + ol.coordinate.rotate(delta, view2DState.rotation); ol.interaction.Interaction.pan( map, view, delta, ol.interaction.KEYBOARD_PAN_DURATION); mapBrowserEvent.preventDefault();