Use getView2DState instead of getResolution/getRotation in interactions
This commit is contained in:
@@ -61,10 +61,12 @@ ol.interaction.DragPan.prototype.handleDrag = function(mapBrowserEvent) {
|
|||||||
// FIXME works for View2D only
|
// FIXME works for View2D only
|
||||||
var view = map.getView();
|
var view = map.getView();
|
||||||
goog.asserts.assertInstanceof(view, ol.View2D);
|
goog.asserts.assertInstanceof(view, ol.View2D);
|
||||||
var resolution = view.getResolution();
|
var view2DState = view.getView2DState();
|
||||||
var rotation = view.getRotation();
|
var newCenter = [
|
||||||
var newCenter = [-resolution * this.deltaX, resolution * this.deltaY];
|
-view2DState.resolution * this.deltaX,
|
||||||
ol.coordinate.rotate(newCenter, rotation);
|
view2DState.resolution * this.deltaY
|
||||||
|
];
|
||||||
|
ol.coordinate.rotate(newCenter, view2DState.rotation);
|
||||||
ol.coordinate.add(newCenter, this.startCenter);
|
ol.coordinate.add(newCenter, this.startCenter);
|
||||||
map.requestRenderFrame();
|
map.requestRenderFrame();
|
||||||
view.setCenter(newCenter);
|
view.setCenter(newCenter);
|
||||||
|
|||||||
@@ -64,9 +64,8 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
|
|||||||
// FIXME works for View2D only
|
// FIXME works for View2D only
|
||||||
var view = map.getView();
|
var view = map.getView();
|
||||||
goog.asserts.assertInstanceof(view, ol.View2D);
|
goog.asserts.assertInstanceof(view, ol.View2D);
|
||||||
var resolution = view.getResolution();
|
var view2DState = view.getView2DState();
|
||||||
var rotation = view.getRotation();
|
var mapUnitsDelta = view2DState.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) {
|
||||||
deltaY = -mapUnitsDelta;
|
deltaY = -mapUnitsDelta;
|
||||||
@@ -78,7 +77,7 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
|
|||||||
deltaY = mapUnitsDelta;
|
deltaY = mapUnitsDelta;
|
||||||
}
|
}
|
||||||
var delta = [deltaX, deltaY];
|
var delta = [deltaX, deltaY];
|
||||||
ol.coordinate.rotate(delta, rotation);
|
ol.coordinate.rotate(delta, view2DState.rotation);
|
||||||
ol.interaction.Interaction.pan(
|
ol.interaction.Interaction.pan(
|
||||||
map, view, delta, ol.interaction.KEYBOARD_PAN_DURATION);
|
map, view, delta, ol.interaction.KEYBOARD_PAN_DURATION);
|
||||||
mapBrowserEvent.preventDefault();
|
mapBrowserEvent.preventDefault();
|
||||||
|
|||||||
Reference in New Issue
Block a user