Remove view.getView2D() method

This commit is contained in:
Tim Schaub
2014-06-26 16:29:21 -04:00
parent 956e1bf8b4
commit b88d2aebc9
23 changed files with 42 additions and 109 deletions

View File

@@ -37,7 +37,7 @@ app.RotateNorthControl = function(opt_options) {
var handleRotateNorth = function(e) {
// prevent #rotate-north anchor from getting appended to the url
e.preventDefault();
this_.getMap().getView().getView2D().setRotation(0);
this_.getMap().getView().setRotation(0);
};
anchor.addEventListener('click', handleRotateNorth, false);

View File

@@ -123,7 +123,7 @@ dragAndDropInteraction.on('addfeatures', function(event) {
style: styleFunction
})
}));
var view2D = map.getView().getView2D();
var view2D = map.getView();
view2D.fitExtent(
vectorSource.getExtent(), /** @type {ol.Size} */ (map.getSize()));
});

View File

@@ -119,7 +119,7 @@ dragAndDropInteraction.on('addfeatures', function(event) {
source: vectorSource,
style: styleFunction
}));
var view2D = map.getView().getView2D();
var view2D = map.getView();
view2D.fitExtent(
vectorSource.getExtent(), /** @type {ol.Size} */ (map.getSize()));
});

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.animation');
goog.require('ol.PreRenderFunction');

View File

@@ -1,5 +1,4 @@
// FIXME should listen on appropriate pane, once it is defined
// FIXME works for View2D only
goog.provide('ol.control.MousePosition');

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.control.Rotate');
goog.require('goog.asserts');
@@ -7,7 +5,6 @@ goog.require('goog.dom');
goog.require('goog.dom.TagName');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.View2D');
goog.require('ol.animation');
goog.require('ol.control.Control');
goog.require('ol.css');
@@ -118,12 +115,9 @@ ol.control.Rotate.prototype.handlePointerUp_ = function(pointerEvent) {
*/
ol.control.Rotate.prototype.resetNorth_ = function() {
var map = this.getMap();
// FIXME works for View2D only
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
var view2D = view.getView2D();
goog.asserts.assertInstanceof(view2D, ol.View2D);
var currentRotation = view2D.getRotation();
var currentRotation = view.getRotation();
while (currentRotation < -Math.PI) {
currentRotation += 2 * Math.PI;
}
@@ -138,7 +132,7 @@ ol.control.Rotate.prototype.resetNorth_ = function() {
easing: ol.easing.easeOut
}));
}
view2D.setRotation(0);
view.setRotation(0);
}
};

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.control.Zoom');
goog.require('goog.asserts');
@@ -7,7 +5,6 @@ goog.require('goog.dom');
goog.require('goog.dom.TagName');
goog.require('goog.events');
goog.require('goog.events.EventType');
goog.require('ol.View2D');
goog.require('ol.animation');
goog.require('ol.control.Control');
goog.require('ol.css');
@@ -143,12 +140,8 @@ ol.control.Zoom.prototype.handlePointerUp_ = function(delta, pointerEvent) {
*/
ol.control.Zoom.prototype.zoomByDelta_ = function(delta) {
var map = this.getMap();
// FIXME works for View2D only
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
var view2D = view.getView2D();
goog.asserts.assertInstanceof(view2D, ol.View2D);
var currentResolution = view2D.getResolution();
var currentResolution = view.getResolution();
if (goog.isDef(currentResolution)) {
if (this.duration_ > 0) {
map.beforeRender(ol.animation.zoom({
@@ -157,7 +150,7 @@ ol.control.Zoom.prototype.zoomByDelta_ = function(delta) {
easing: ol.easing.easeOut
}));
}
var newResolution = view2D.constrainResolution(currentResolution, delta);
view2D.setResolution(newResolution);
var newResolution = view.constrainResolution(currentResolution, delta);
view.setResolution(newResolution);
}
};

View File

@@ -1,4 +1,3 @@
// FIXME works for View2D only
// FIXME should possibly show tooltip when dragging?
goog.provide('ol.control.ZoomSlider');
@@ -177,7 +176,7 @@ ol.control.ZoomSlider.prototype.handleMapPostrender = function(mapEvent) {
*/
ol.control.ZoomSlider.prototype.handleContainerClick_ = function(browserEvent) {
var map = this.getMap();
var view = map.getView().getView2D();
var view = map.getView();
var resolution;
var amountDragged = this.amountDragged_(browserEvent.offsetX,
browserEvent.offsetY);
@@ -246,7 +245,7 @@ ol.control.ZoomSlider.prototype.amountDragged_ = function(x, y) {
ol.control.ZoomSlider.prototype.resolutionForAmount_ = function(amount) {
// FIXME do we really need this affine transform?
amount = (goog.math.clamp(amount, 0, 1) - 1) * -1;
var fn = this.getMap().getView().getView2D().getResolutionForValueFunction();
var fn = this.getMap().getView().getResolutionForValueFunction();
return fn(amount);
};
@@ -260,7 +259,7 @@ ol.control.ZoomSlider.prototype.resolutionForAmount_ = function(amount) {
* @private
*/
ol.control.ZoomSlider.prototype.amountForResolution_ = function(res) {
var fn = this.getMap().getView().getView2D().getValueForResolutionFunction();
var fn = this.getMap().getView().getValueForResolutionFunction();
var value = fn(res);
// FIXME do we really need this affine transform?
return (value - 1) * -1;
@@ -277,7 +276,7 @@ ol.control.ZoomSlider.prototype.amountForResolution_ = function(res) {
*/
ol.control.ZoomSlider.prototype.handleSliderChange_ = function(e) {
var map = this.getMap();
var view = map.getView().getView2D();
var view = map.getView();
var resolution;
if (e.type === goog.fx.Dragger.EventType.DRAG) {
var amountDragged = this.amountDragged_(e.left, e.top);

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.control.ZoomToExtent');
goog.require('goog.asserts');
@@ -99,11 +97,9 @@ ol.control.ZoomToExtent.prototype.handlePointerUp_ = function(pointerEvent) {
ol.control.ZoomToExtent.prototype.handleZoomToExtent_ = function() {
var map = this.getMap();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
var view2D = view.getView2D();
var extent = goog.isNull(this.extent_) ?
view2D.getProjection().getExtent() : this.extent_;
view.getProjection().getExtent() : this.extent_;
var size = map.getSize();
goog.asserts.assert(goog.isDef(size));
view2D.fitExtent(extent, size);
view.fitExtent(extent, size);
};

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.DoubleClickZoom');
goog.require('goog.asserts');
@@ -51,8 +49,8 @@ ol.interaction.DoubleClickZoom.prototype.handleMapBrowserEvent =
var map = mapBrowserEvent.map;
var anchor = mapBrowserEvent.coordinate;
var delta = browserEvent.shiftKey ? -this.delta_ : this.delta_;
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
ol.interaction.Interaction.zoomByDelta(
map, view, delta, anchor, this.duration_);
mapBrowserEvent.preventDefault();

View File

@@ -101,7 +101,7 @@ ol.interaction.DragAndDrop.prototype.handleResult_ = function(file, result) {
if (goog.isNull(projection)) {
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
projection = view.getView2D().getProjection();
projection = view.getProjection();
goog.asserts.assert(goog.isDef(projection));
}
var formatConstructors = this.formatConstructors_;

View File

@@ -1,6 +1,4 @@
// FIXME draw drag box
// FIXME works for View2D only
goog.provide('ol.DragBoxEvent');
goog.provide('ol.interaction.DragBox');

View File

@@ -1,11 +1,9 @@
// FIXME works for View2D only
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');
goog.require('ol.coordinate');
goog.require('ol.events.condition');
@@ -76,8 +74,7 @@ ol.interaction.DragPan.prototype.handlePointerDrag = function(mapBrowserEvent) {
var deltaX = this.lastCentroid[0] - centroid[0];
var deltaY = centroid[1] - this.lastCentroid[1];
var map = mapBrowserEvent.map;
var view2D = map.getView().getView2D();
goog.asserts.assertInstanceof(view2D, ol.View2D);
var view2D = map.getView();
var view2DState = view2D.getView2DState();
var center = [deltaX, deltaY];
ol.coordinate.scale(center, view2DState.resolution);
@@ -97,8 +94,7 @@ ol.interaction.DragPan.prototype.handlePointerDrag = function(mapBrowserEvent) {
ol.interaction.DragPan.prototype.handlePointerUp =
function(mapBrowserEvent) {
var map = mapBrowserEvent.map;
var view2D = map.getView().getView2D();
goog.asserts.assertInstanceof(view2D, ol.View2D);
var view2D = map.getView();
if (this.targetPointers.length === 0) {
if (!this.noKinetic_ && this.kinetic_ && this.kinetic_.end()) {
var distance = this.kinetic_.getDistance();
@@ -132,8 +128,7 @@ ol.interaction.DragPan.prototype.handlePointerDown =
function(mapBrowserEvent) {
if (this.targetPointers.length > 0 && this.condition_(mapBrowserEvent)) {
var map = mapBrowserEvent.map;
var view2D = map.getView().getView2D();
goog.asserts.assertInstanceof(view2D, ol.View2D);
var view2D = map.getView();
this.lastCentroid = null;
if (!this.handlingDownUpSequence) {
view2D.setHint(ol.ViewHint.INTERACTING, 1);

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.DragRotateAndZoom');
goog.require('goog.asserts');
@@ -82,8 +80,7 @@ ol.interaction.DragRotateAndZoom.prototype.handlePointerDrag =
size[1] / 2 - offset[1]);
var theta = Math.atan2(delta.y, delta.x);
var magnitude = delta.magnitude();
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
var view2DState = view.getView2DState();
map.render();
if (goog.isDef(this.lastAngle_)) {
@@ -113,14 +110,12 @@ ol.interaction.DragRotateAndZoom.prototype.handlePointerUp =
}
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView();
view.setHint(ol.ViewHint.INTERACTING, -1);
var view2D = view.getView2D();
var view2DState = view2D.getView2DState();
var view2DState = view.getView2DState();
var direction = this.lastScaleDelta_ - 1;
ol.interaction.Interaction.rotate(map, view2D, view2DState.rotation);
ol.interaction.Interaction.zoom(map, view2D, view2DState.resolution,
ol.interaction.Interaction.rotate(map, view, view2DState.rotation);
ol.interaction.Interaction.zoom(map, view, view2DState.resolution,
undefined, ol.DRAGROTATEANDZOOM_ANIMATION_DURATION,
direction);
this.lastScaleDelta_ = 0;

View File

@@ -62,8 +62,7 @@ ol.interaction.DragRotate.prototype.handlePointerDrag =
Math.atan2(size[1] / 2 - offset[1], offset[0] - size[0] / 2);
if (goog.isDef(this.lastAngle_)) {
var delta = theta - this.lastAngle_;
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
var view2DState = view.getView2DState();
map.render();
ol.interaction.Interaction.rotateWithoutConstraints(
@@ -83,12 +82,10 @@ ol.interaction.DragRotate.prototype.handlePointerUp =
}
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView();
view.setHint(ol.ViewHint.INTERACTING, -1);
var view2D = view.getView2D();
var view2DState = view2D.getView2DState();
ol.interaction.Interaction.rotate(map, view2D, view2DState.rotation,
var view2DState = view.getView2DState();
ol.interaction.Interaction.rotate(map, view, view2DState.rotation,
undefined, ol.DRAGROTATE_ANIMATION_DURATION);
return false;
};

View File

@@ -52,9 +52,9 @@ goog.inherits(ol.interaction.DragZoom, ol.interaction.DragBox);
* @inheritDoc
*/
ol.interaction.DragZoom.prototype.onBoxEnd = function() {
// FIXME works for View2D only
var map = this.getMap();
var view = map.getView().getView2D();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
var extent = this.getGeometry().getExtent();
var center = ol.extent.getCenter(extent);
var size = map.getSize();

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.KeyboardPan');
goog.require('goog.asserts');
@@ -7,7 +5,6 @@ goog.require('goog.events.KeyCodes');
goog.require('goog.events.KeyHandler.EventType');
goog.require('goog.functions');
goog.require('ol');
goog.require('ol.View2D');
goog.require('ol.coordinate');
goog.require('ol.events.ConditionType');
goog.require('ol.events.condition');
@@ -72,9 +69,8 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
keyCode == goog.events.KeyCodes.RIGHT ||
keyCode == goog.events.KeyCodes.UP)) {
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView();
goog.asserts.assertInstanceof(view, ol.View2D);
goog.asserts.assert(goog.isDef(view));
var view2DState = view.getView2DState();
var mapUnitsDelta = view2DState.resolution * this.pixelDelta_;
var deltaX = 0, deltaY = 0;

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.KeyboardZoom');
goog.require('goog.asserts');
@@ -71,8 +69,8 @@ ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent =
var map = mapBrowserEvent.map;
var delta = (charCode == '+'.charCodeAt(0)) ? this.delta_ : -this.delta_;
map.render();
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
ol.interaction.Interaction.zoomByDelta(
map, view, delta, undefined, this.duration_);
mapBrowserEvent.preventDefault();

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.MouseWheelZoom');
goog.require('goog.asserts');
@@ -102,8 +100,8 @@ ol.interaction.MouseWheelZoom.prototype.doZoom_ = function(map) {
var maxDelta = ol.MOUSEWHEELZOOM_MAXDELTA;
var delta = goog.math.clamp(this.delta_, -maxDelta, maxDelta);
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
map.render();
ol.interaction.Interaction.zoomByDelta(map, view, -delta, this.lastAnchor_,

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.PinchRotate');
goog.require('goog.asserts');
@@ -103,8 +101,7 @@ ol.interaction.PinchRotate.prototype.handlePointerDrag =
// rotate
if (this.rotating_) {
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
var view2DState = view.getView2DState();
map.render();
ol.interaction.Interaction.rotateWithoutConstraints(map, view,
@@ -123,11 +120,9 @@ ol.interaction.PinchRotate.prototype.handlePointerUp =
var view = map.getView();
view.setHint(ol.ViewHint.INTERACTING, -1);
if (this.rotating_) {
// FIXME works for View2D only
var view2D = view.getView2D();
var view2DState = view2D.getView2DState();
var view2DState = view.getView2DState();
ol.interaction.Interaction.rotate(
map, view2D, view2DState.rotation, this.anchor_,
map, view, view2DState.rotation, this.anchor_,
ol.ROTATE_ANIMATION_DURATION);
}
return false;

View File

@@ -1,5 +1,3 @@
// FIXME works for View2D only
goog.provide('ol.interaction.PinchZoom');
goog.require('goog.asserts');
@@ -80,8 +78,7 @@ ol.interaction.PinchZoom.prototype.handlePointerDrag =
}
var map = mapBrowserEvent.map;
// FIXME works for View2D only
var view = map.getView().getView2D();
var view = map.getView();
var view2DState = view.getView2DState();
// scale anchor point.
@@ -109,14 +106,12 @@ ol.interaction.PinchZoom.prototype.handlePointerUp =
var map = mapBrowserEvent.map;
var view = map.getView();
view.setHint(ol.ViewHint.INTERACTING, -1);
// FIXME works for View2D only
var view2D = view.getView2D();
var view2DState = view2D.getView2DState();
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, view2D, view2DState.resolution,
ol.interaction.Interaction.zoom(map, view, view2DState.resolution,
this.anchor_, this.duration_, direction);
return false;
} else {

View File

@@ -1182,18 +1182,17 @@ ol.Map.prototype.renderFrame_ = function(time) {
var size = this.getSize();
var view = this.getView();
var view2D = goog.isDef(view) ? this.getView().getView2D() : undefined;
/** @type {?olx.FrameState} */
var frameState = null;
if (goog.isDef(size) && hasArea(size) &&
goog.isDef(view2D) && view2D.isDef()) {
goog.isDef(view) && view.isDef()) {
var viewHints = view.getHints();
var layerStatesArray = this.getLayerGroup().getLayerStatesArray();
var layerStates = {};
for (i = 0, ii = layerStatesArray.length; i < ii; ++i) {
layerStates[goog.getUid(layerStatesArray[i].layer)] = layerStatesArray[i];
}
view2DState = view2D.getView2DState();
view2DState = view.getView2DState();
frameState = /** @type {olx.FrameState} */ ({
animate: false,
attributions: {},
@@ -1232,7 +1231,6 @@ ol.Map.prototype.renderFrame_ = function(time) {
preRenderFunctions.length = n;
if (!goog.isNull(frameState)) {
// FIXME works for View2D only
frameState.extent = ol.extent.getForView2DAndSize(view2DState.center,
view2DState.resolution, view2DState.rotation, frameState.size);
}

View File

@@ -384,15 +384,6 @@ ol.View2D.prototype.getValueForResolutionFunction = function(opt_power) {
};
/**
* @return {ol.View2D} View2D.
* @todo api
*/
ol.View2D.prototype.getView2D = function() {
return this;
};
/**
* @return {olx.View2DState} View2D state.
*/