diff --git a/lib/OpenLayers/Layer/WFS.js b/lib/OpenLayers/Layer/WFS.js index 3a04911393..b7ef90ce49 100644 --- a/lib/OpenLayers/Layer/WFS.js +++ b/lib/OpenLayers/Layer/WFS.js @@ -8,6 +8,9 @@ OpenLayers.Layer.WFS.prototype = Object.extend(new OpenLayers.Layer.Grid(), Object.extend(new OpenLayers.Layer.Markers(), { + /** @type Object */ + featureClass: null, + /** @final @type hash */ DEFAULT_PARAMS: { service: "WFS", version: "1.0.0", @@ -21,10 +24,15 @@ OpenLayers.Layer.WFS.prototype = * @param {str} name * @param {str} url * @param {hash} params + * @param {Object} featureClass */ - initialize: function(name, url, params) { - OpenLayers.Layer.Grid.prototype.initialize.apply(this, arguments); - OpenLayers.Layer.Markers.prototype.initialize.apply(this, arguments); + initialize: function(name, url, params, featureClass) { + this.featureClass = featureClass; + + var newArguments = new Array(name, url, params); + OpenLayers.Layer.Grid.prototype.initialize.apply(this, newArguments); + OpenLayers.Layer.Markers.prototype.initialize.apply(this, newArguments); + OpenLayers.Util.applyDefaults(this.params, this.DEFAULT_PARAMS); }, diff --git a/lib/OpenLayers/Tile/WFS.js b/lib/OpenLayers/Tile/WFS.js index 2c42f0cc57..e8cbffbdac 100644 --- a/lib/OpenLayers/Tile/WFS.js +++ b/lib/OpenLayers/Tile/WFS.js @@ -83,7 +83,7 @@ OpenLayers.Tile.WFS.prototype = for (var i=0; i < resultFeatures.length; i++) { - var feature = new MCFeature(resultFeatures[i]); + var feature = new this.layer.featureClass(resultFeatures[i]); var icon = new OpenLayers.Icon(feature.markerImage, feature.size); var marker = new OpenLayers.Marker(feature.lonlat, icon, feature);