Merge pull request #2722 from elemoine/nullview

Make ol.Map#setView do not accept undefined
This commit is contained in:
Éric Lemoine
2014-09-17 15:01:41 +02:00
9 changed files with 30 additions and 21 deletions

View File

@@ -130,7 +130,11 @@ ol.control.Rotate.prototype.handlePointerUp_ = function(pointerEvent) {
ol.control.Rotate.prototype.resetNorth_ = function() {
var map = this.getMap();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
if (goog.isNull(view)) {
// the map does not have a view, so we can't act
// upon it
return;
}
var currentRotation = view.getRotation();
while (currentRotation < -Math.PI) {
currentRotation += 2 * Math.PI;

View File

@@ -140,6 +140,11 @@ ol.control.Zoom.prototype.handlePointerUp_ = function(delta, pointerEvent) {
ol.control.Zoom.prototype.zoomByDelta_ = function(delta) {
var map = this.getMap();
var view = map.getView();
if (goog.isNull(view)) {
// the map does not have a view, so we can't act
// upon it
return;
}
var currentResolution = view.getResolution();
if (goog.isDef(currentResolution)) {
if (this.duration_ > 0) {

View File

@@ -50,7 +50,7 @@ ol.interaction.DoubleClickZoom.prototype.handleMapBrowserEvent =
var anchor = mapBrowserEvent.coordinate;
var delta = browserEvent.shiftKey ? -this.delta_ : this.delta_;
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
goog.asserts.assert(!goog.isNull(view));
ol.interaction.Interaction.zoomByDelta(
map, view, delta, anchor, this.duration_);
mapBrowserEvent.preventDefault();

View File

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

View File

@@ -54,7 +54,7 @@ goog.inherits(ol.interaction.DragZoom, ol.interaction.DragBox);
ol.interaction.DragZoom.prototype.onBoxEnd = function() {
var map = this.getMap();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
goog.asserts.assert(!goog.isNull(view));
var extent = this.getGeometry().getExtent();
var center = ol.extent.getCenter(extent);
var size = map.getSize();

View File

@@ -70,7 +70,7 @@ ol.interaction.KeyboardPan.prototype.handleMapBrowserEvent =
keyCode == goog.events.KeyCodes.UP)) {
var map = mapBrowserEvent.map;
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
goog.asserts.assert(!goog.isNull(view));
var viewState = view.getState();
var mapUnitsDelta = viewState.resolution * this.pixelDelta_;
var deltaX = 0, deltaY = 0;

View File

@@ -70,7 +70,7 @@ ol.interaction.KeyboardZoom.prototype.handleMapBrowserEvent =
var delta = (charCode == '+'.charCodeAt(0)) ? this.delta_ : -this.delta_;
map.render();
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
goog.asserts.assert(!goog.isNull(view));
ol.interaction.Interaction.zoomByDelta(
map, view, delta, undefined, this.duration_);
mapBrowserEvent.preventDefault();

View File

@@ -101,7 +101,7 @@ ol.interaction.MouseWheelZoom.prototype.doZoom_ = function(map) {
var delta = goog.math.clamp(this.delta_, -maxDelta, maxDelta);
var view = map.getView();
goog.asserts.assert(goog.isDef(view));
goog.asserts.assert(!goog.isNull(view));
map.render();
ol.interaction.Interaction.zoomByDelta(map, view, -delta, this.lastAnchor_,

View File

@@ -753,7 +753,7 @@ goog.exportProperty(
/**
* Get the view associated with this map. A view manages properties such as
* center and resolution.
* @return {ol.View|undefined} The view that controls this map.
* @return {ol.View} The view that controls this map.
* @observable
* @api stable
*/
@@ -988,7 +988,7 @@ ol.Map.prototype.handleViewChanged_ = function() {
this.viewPropertyListenerKey_ = null;
}
var view = this.getView();
if (goog.isDefAndNotNull(view)) {
if (!goog.isNull(view)) {
this.viewPropertyListenerKey_ = goog.events.listen(
view, ol.ObjectEventType.PROPERTYCHANGE,
this.handleViewPropertyChanged_, false, this);
@@ -1061,7 +1061,7 @@ ol.Map.prototype.isDef = function() {
return false;
}
var view = this.getView();
if (!goog.isDef(view) || !view.isDef()) {
if (goog.isNull(view) || !view.isDef()) {
return false;
}
return true;
@@ -1189,7 +1189,7 @@ ol.Map.prototype.renderFrame_ = function(time) {
/** @type {?olx.FrameState} */
var frameState = null;
if (goog.isDef(size) && hasArea(size) &&
goog.isDef(view) && view.isDef()) {
!goog.isNull(view) && view.isDef()) {
var viewHints = view.getHints();
var layerStatesArray = this.getLayerGroup().getLayerStatesArray();
var layerStates = {};
@@ -1221,17 +1221,17 @@ ol.Map.prototype.renderFrame_ = function(time) {
});
}
var preRenderFunctions = this.preRenderFunctions_;
var n = 0, preRenderFunction;
for (i = 0, ii = preRenderFunctions.length; i < ii; ++i) {
preRenderFunction = preRenderFunctions[i];
if (preRenderFunction(this, frameState)) {
preRenderFunctions[n++] = preRenderFunction;
}
}
preRenderFunctions.length = n;
if (!goog.isNull(frameState)) {
var preRenderFunctions = this.preRenderFunctions_;
var n = 0, preRenderFunction;
for (i = 0, ii = preRenderFunctions.length; i < ii; ++i) {
preRenderFunction = preRenderFunctions[i];
if (preRenderFunction(this, frameState)) {
preRenderFunctions[n++] = preRenderFunction;
}
}
preRenderFunctions.length = n;
frameState.extent = ol.extent.getForViewAndSize(viewState.center,
viewState.resolution, viewState.rotation, frameState.size);
}