Use view2DState in ol.interaction.TouchZoom

This commit is contained in:
Tom Payne
2013-06-25 17:12:29 +02:00
parent dc9d7e857a
commit f360dd86a0

View File

@@ -73,6 +73,7 @@ ol.interaction.TouchZoom.prototype.handleTouchMove =
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView().getView2D();
var view2DState = view.getView2DState();
// scale anchor point.
var viewportPosition = goog.style.getClientPosition(map.getViewport());
@@ -84,7 +85,7 @@ ol.interaction.TouchZoom.prototype.handleTouchMove =
// scale, bypass the resolution constraint
map.requestRenderFrame();
ol.interaction.Interaction.zoomWithoutConstraints(
map, view, view.getResolution() * scaleDelta, this.anchor_);
map, view, view2DState.resolution * scaleDelta, this.anchor_);
};
@@ -98,11 +99,12 @@ ol.interaction.TouchZoom.prototype.handleTouchEnd =
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView().getView2D();
var view2DState = view.getView2DState();
// Zoom to final resolution, with an animation, and provide a
// direction not to zoom out/in if user was pinching in/out.
// Direction is > 0 if pinching out, and < 0 if pinching in.
var direction = this.lastScaleDelta_ - 1;
ol.interaction.Interaction.zoom(map, view, view.getResolution(),
ol.interaction.Interaction.zoom(map, view, view2DState.resolution,
this.anchor_, ol.interaction.TOUCHZOOM_ANIMATION_DURATION, direction);
return false;
} else {