getDataExtent should return null when there are no features with a geometry, r=ahocevar (closes #3435)
git-svn-id: http://svn.openlayers.org/trunk/openlayers@12187 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -597,7 +597,7 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
if(this.events.triggerEvent("beforefeatureadded",
|
||||
{feature: feature}) === false) {
|
||||
continue;
|
||||
};
|
||||
}
|
||||
this.preFeatureInsert(feature);
|
||||
}
|
||||
|
||||
@@ -816,7 +816,7 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
this.unrenderedFeatures[feature.id] = feature;
|
||||
} else {
|
||||
delete this.unrenderedFeatures[feature.id];
|
||||
};
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -988,17 +988,20 @@ OpenLayers.Layer.Vector = OpenLayers.Class(OpenLayers.Layer, {
|
||||
* Calculates the max extent which includes all of the features.
|
||||
*
|
||||
* Returns:
|
||||
* {<OpenLayers.Bounds>}
|
||||
* {<OpenLayers.Bounds>} or null if the layer has no features with
|
||||
* geometries.
|
||||
*/
|
||||
getDataExtent: function () {
|
||||
var maxExtent = null;
|
||||
var features = this.features;
|
||||
if(features && (features.length > 0)) {
|
||||
maxExtent = new OpenLayers.Bounds();
|
||||
var geometry = null;
|
||||
for(var i=0, len=features.length; i<len; i++) {
|
||||
geometry = features[i].geometry;
|
||||
if (geometry) {
|
||||
if (maxExtent === null) {
|
||||
maxExtent = new OpenLayers.Bounds();
|
||||
}
|
||||
maxExtent.extend(geometry.getBounds());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -286,6 +286,14 @@
|
||||
t.ok(extent.toBBOX() != layer.features[0].geometry.getBounds().toBBOX(), "extent from getDataExtent doesn't clobber first feature");
|
||||
}
|
||||
|
||||
function test_Layer_Vector_getDataExtentEmpty(t) {
|
||||
t.plan(1);
|
||||
var layer = new OpenLayers.Layer.Vector(name);
|
||||
layer.addFeatures([new OpenLayers.Feature.Vector(null), new OpenLayers.Feature.Vector(null)]);
|
||||
var extent = layer.getDataExtent();
|
||||
t.eq(extent, null, "We expect null to be returned if there are no features with a geometry");
|
||||
}
|
||||
|
||||
function test_Layer_Vector_removeFeatures(t) {
|
||||
t.plan(17);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user