diff --git a/lib/OpenLayers/Layer/WFS.js b/lib/OpenLayers/Layer/WFS.js index f0ea8fedd3..96eb9e4423 100644 --- a/lib/OpenLayers/Layer/WFS.js +++ b/lib/OpenLayers/Layer/WFS.js @@ -531,6 +531,25 @@ OpenLayers.Layer.WFS = OpenLayers.Class( this.tile.draw(); } }, + + /** + * APIMethod: getDataExtent + * Calculates the max extent which includes all of the layer data. + * + * Returns: + * {} + */ + getDataExtent: function () { + var extent; + //get all additions from superclasses + if (this.vectorMode) { + extent = OpenLayers.Layer.Vector.prototype.getDataExtent.apply(this); + } else { + extent = OpenLayers.Layer.Markers.prototype.getDataExtent.apply(this); + } + + return extent; + }, CLASS_NAME: "OpenLayers.Layer.WFS" }); diff --git a/tests/Layer/WFS.html b/tests/Layer/WFS.html index 09f55461f3..6c0d295215 100644 --- a/tests/Layer/WFS.html +++ b/tests/Layer/WFS.html @@ -15,6 +15,16 @@ } + function test_Layer_WFS_getDataExtent(t) { + t.plan(1); + + var layer = new OpenLayers.Layer.WFS(name, "url", {}); + layer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 0))); + layer.addFeatures(new OpenLayers.Feature.Vector(new OpenLayers.Geometry.Point(0, 1))); + t.eq(layer.getDataExtent().toBBOX(), "0,0,0,1", "bbox is correctly pulled from vectors."); + + } + function test_Layer_WFS_destroy(t) { t.plan(13);