Merge pull request #549 from elemoine/pan-interaction-fix
Pan interaction fix
This commit is contained in:
@@ -78,7 +78,7 @@ ol.interaction.DragPan.prototype.handleDragEnd = function(mapBrowserEvent) {
|
||||
|
||||
var map = mapBrowserEvent.map;
|
||||
var view = map.getView();
|
||||
view.setHint(ol.ViewHint.INTERACTING, -1);
|
||||
var interacting = view.setHint(ol.ViewHint.INTERACTING, -1);
|
||||
|
||||
if (this.kinetic_ && this.kinetic_.end()) {
|
||||
var distance = this.kinetic_.getDistance();
|
||||
@@ -93,6 +93,8 @@ ol.interaction.DragPan.prototype.handleDragEnd = function(mapBrowserEvent) {
|
||||
centerpx.y - distance * Math.sin(angle));
|
||||
var dest = map.getCoordinateFromPixel(destpx);
|
||||
view.setCenter(dest);
|
||||
} else if (interacting === 0) {
|
||||
map.requestRenderFrame();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -81,7 +81,7 @@ ol.interaction.TouchPan.prototype.handleTouchEnd =
|
||||
var map = mapBrowserEvent.map;
|
||||
var view = map.getView();
|
||||
if (this.targetTouches.length == 0) {
|
||||
view.setHint(ol.ViewHint.INTERACTING, -1);
|
||||
var interacting = view.setHint(ol.ViewHint.INTERACTING, -1);
|
||||
if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) {
|
||||
var distance = this.kinetic_.getDistance();
|
||||
var angle = this.kinetic_.getAngle();
|
||||
@@ -94,6 +94,8 @@ ol.interaction.TouchPan.prototype.handleTouchEnd =
|
||||
centerpx.y - distance * Math.sin(angle));
|
||||
var dest = map.getCoordinateFromPixel(destpx);
|
||||
view.setCenter(dest);
|
||||
} else if (interacting === 0) {
|
||||
map.requestRenderFrame();
|
||||
}
|
||||
return false;
|
||||
} else {
|
||||
|
||||
@@ -59,9 +59,11 @@ ol.View.prototype.getView3D = goog.abstractMethod;
|
||||
/**
|
||||
* @param {ol.ViewHint} hint Hint.
|
||||
* @param {number} delta Delta.
|
||||
* @return {number} New value.
|
||||
*/
|
||||
ol.View.prototype.setHint = function(hint, delta) {
|
||||
goog.asserts.assert(0 <= hint && hint < this.hints_.length);
|
||||
this.hints_[hint] += delta;
|
||||
goog.asserts.assert(this.hints_[hint] >= 0);
|
||||
return this.hints_[hint];
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user