Redefine ol.Pixel to be Array.<number>

This commit is contained in:
Frederic Junod
2013-04-05 11:56:39 +02:00
parent 075f4aadc7
commit be081fd44e
13 changed files with 38 additions and 48 deletions

View File

@@ -4,7 +4,6 @@ goog.provide('ol.interaction.DragPan');
goog.require('goog.asserts');
goog.require('ol.Kinetic');
goog.require('ol.Pixel');
goog.require('ol.PreRenderFunction');
goog.require('ol.View2D');
goog.require('ol.ViewHint');
@@ -91,10 +90,10 @@ ol.interaction.DragPan.prototype.handleDragEnd = function(mapBrowserEvent) {
map.addPreRenderFunction(this.kineticPreRenderFn_);
var centerpx = map.getPixelFromCoordinate(center);
var destpx = new ol.Pixel(
centerpx.x - distance * Math.cos(angle),
centerpx.y - distance * Math.sin(angle));
var dest = map.getCoordinateFromPixel(destpx);
var dest = map.getCoordinateFromPixel([
centerpx[0] - distance * Math.cos(angle),
centerpx[1] - distance * Math.sin(angle)
]);
view.setCenter(dest);
} else if (interacting === 0) {
map.requestRenderFrame();

View File

@@ -51,7 +51,8 @@ ol.interaction.DragRotate.prototype.handleDrag = function(mapBrowserEvent) {
var map = mapBrowserEvent.map;
var size = map.getSize();
var offset = mapBrowserEvent.getPixel();
var theta = Math.atan2(size.height / 2 - offset.y, offset.x - size.width / 2);
var theta =
Math.atan2(size.height / 2 - offset[1], offset[0] - size.width / 2);
if (goog.isDef(this.lastAngle_)) {
var delta = theta - this.lastAngle_;
var view = map.getView();

View File

@@ -52,7 +52,7 @@ ol.interaction.Touch.centroid = function(touches) {
clientX += touches[i].clientX;
clientY += touches[i].clientY;
}
return new ol.Pixel(clientX / length, clientY / length);
return [clientX / length, clientY / length];
};

View File

@@ -58,10 +58,10 @@ ol.interaction.TouchPan.prototype.handleTouchMove = function(mapBrowserEvent) {
var centroid = ol.interaction.Touch.centroid(this.targetTouches);
if (!goog.isNull(this.lastCentroid)) {
if (this.kinetic_) {
this.kinetic_.update(centroid.x, centroid.y);
this.kinetic_.update(centroid[0], centroid[1]);
}
var deltaX = this.lastCentroid.x - centroid.x;
var deltaY = centroid.y - this.lastCentroid.y;
var deltaX = this.lastCentroid[0] - centroid[0];
var deltaY = centroid[1] - this.lastCentroid[1];
var map = mapBrowserEvent.map;
var view = map.getView();
var center = [deltaX, deltaY];
@@ -91,10 +91,10 @@ ol.interaction.TouchPan.prototype.handleTouchEnd =
this.kineticPreRenderFn_ = this.kinetic_.pan(center);
map.addPreRenderFunction(this.kineticPreRenderFn_);
var centerpx = map.getPixelFromCoordinate(center);
var destpx = new ol.Pixel(
centerpx.x - distance * Math.cos(angle),
centerpx.y - distance * Math.sin(angle));
var dest = map.getCoordinateFromPixel(destpx);
var dest = map.getCoordinateFromPixel([
centerpx[0] - distance * Math.cos(angle),
centerpx[1] - distance * Math.sin(angle)
]);
view.setCenter(dest);
} else if (interacting === 0) {
map.requestRenderFrame();

View File

@@ -97,8 +97,8 @@ ol.interaction.TouchRotate.prototype.handleTouchMove =
// touch0,touch1 and previousTouch0,previousTouch1
var viewportPosition = goog.style.getClientPosition(map.getViewport());
var centroid = ol.interaction.Touch.centroid(this.targetTouches);
centroid.x -= viewportPosition.x;
centroid.y -= viewportPosition.y;
centroid[0] -= viewportPosition[0];
centroid[1] -= viewportPosition[1];
this.anchor_ = map.getCoordinateFromPixel(centroid);
// rotate

View File

@@ -78,8 +78,8 @@ ol.interaction.TouchZoom.prototype.handleTouchMove =
// scale anchor point.
var viewportPosition = goog.style.getClientPosition(map.getViewport());
var centroid = ol.interaction.Touch.centroid(this.targetTouches);
centroid.x -= viewportPosition.x;
centroid.y -= viewportPosition.y;
centroid[0] -= viewportPosition[0];
centroid[1] -= viewportPosition[1];
this.anchor_ = map.getCoordinateFromPixel(centroid);
// scale, bypass the resolution constraint