diff --git a/lib/OpenLayers/Layer/WFS.js b/lib/OpenLayers/Layer/WFS.js new file mode 100644 index 0000000000..3984a3e6f6 --- /dev/null +++ b/lib/OpenLayers/Layer/WFS.js @@ -0,0 +1,60 @@ +OpenLayers.Layer.WMS = Class.create(); +OpenLayers.Layer.WMS.prototype = + Object.extend( new OpenLayers.Layer.Grid(), { + + // hash + DEFAULT_PARAMS: { + service: "WMS", + version: "1.1.1", + request: "GetMap", + srs: "EPSG:4326", + styles: "", + exceptions: "application/vnd.ogc.se_inimage", + format: "image/jpeg" + }, + + /** + * @param {str} name + * @param {str} url + * @param {hash} params + */ + initialize: function(name, url, params) { + OpenLayers.Layer.Grid.prototype.initialize.apply(this, arguments); + OpenLayers.Util.applyDefaults( this.params, this.DEFAULT_PARAMS ); + }, + + /** + * @param + */ + clone: function (name, params) { + var mergedParams = {} + Object.extend(mergedParams, this.params); + Object.extend(mergedParams, params); + var obj = new OpenLayers.Layer.WMS(name, this.url, mergedParams); + obj.setTileSize( this.tileSize ); + return obj; + }, + + /** + * addTile creates a tile, initializes it (via 'draw' in this case), and + * adds it to the layer div. THe tile itself is then returned so that info + * about it can be stored for later reuse. + * @param {OpenLayers.Bounds} bounds + */ + addTile:function(bounds,position) { + url = this.getFullRequestString( + {bbox:bounds.toBBOX(), + width:this.tileSize.w, + height:this.tileSize.h}); + var tile = new OpenLayers.Tile.Image(bounds, url, this.tileSize); + tile.draw(); + tile.setPosition(position); + this.div.appendChild(tile.img); + return tile; + }, + + _initTiles: function () { + this.div.innerHTML=""; + OpenLayers.Layer.Grid.prototype._initTiles.apply(this, arguments); + } +});