updates to allow a wfs layer to query multiple wfs servers with the same parameters. untested, but all tests pass.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@941 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
euzuro
2006-07-13 12:33:22 +00:00
parent 1e5e8d1490
commit bd9ee403f2
4 changed files with 38 additions and 13 deletions
+8 -4
View File
@@ -93,7 +93,7 @@ OpenLayers.Layer.HTTPRequest.prototype =
},
/** combine the layer's url with its params and these newParams.
/** combine url with layer's params and these newParams.
*
* does checking on the serverPath variable, allowing for cases when it
* is supplied with trailing ? or &, as well as cases where not.
@@ -102,13 +102,17 @@ OpenLayers.Layer.HTTPRequest.prototype =
* "server?key1=value1&key2=value2&key3=value3"
*
* @param {Object} newParams
* @param {String} altUrl Use this as the url instead of the layer's url
*
* @type String
*/
getFullRequestString:function(newParams) {
getFullRequestString:function(newParams, altUrl) {
//requestString always starts with url
var requestString = this.url;
// use layer's url unless altUrl passed in
var url = (altUrl == null) ? this.url : altUrl;
// requestString always starts with url
var requestString = url;
// create a new params hash with all the layer params and the
// new params together. then convert to string
+12 -3
View File
@@ -110,11 +110,20 @@ OpenLayers.Layer.WFS.prototype =
* @type OpenLayers.Tile.WFS
*/
addTile:function(bounds, position) {
var url = this.getFullRequestString(
{ BBOX:bounds.toBBOX() });
var urls = new Array();
//add standard URL
urls.push( this.getFullRequestString( { BBOX:bounds.toBBOX() }) );
// if there are more urls, add them.
for(var i=0; i < this.urls.length; i++) {
var newUrl = this.getFullRequestString( { BBOX:bounds.toBBOX() },
this.urls[i] );
urls.push(newUrl);
}
return new OpenLayers.Tile.WFS(this, position, bounds,
url, this.tileSize);
urls, this.tileSize);
},