Change the encoding of parameters, as discussed in #491. The reason this
is important is that the WMS spec specifies that you should seperate layer names with a ",", and we were encoding that, so compliant WMSes would attempt to find a single layer with ","s in the name, instead of grabbing multiple layers. The new way to specify multiple layers is to set: layers: ['global_modis','landsat'] or the like. Includes tests, signoff from SDE. git-svn-id: http://svn.openlayers.org/trunk/openlayers@2232 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
@@ -394,17 +394,32 @@ OpenLayers.Util.applyDefaults = function (to, from) {
|
||||
* @returns a concatenation of the properties of an object in
|
||||
* http parameter notation.
|
||||
* (ex. <i>"key1=value1&key2=value2&key3=value3"</i>)
|
||||
* If a parameter is actually a list, that parameter will then
|
||||
* be set to a comma-seperated list of values (foo,bar) instead
|
||||
* of being URL escaped (foo%3Abar).
|
||||
* @type String
|
||||
*/
|
||||
OpenLayers.Util.getParameterString = function(params) {
|
||||
paramsArray = new Array();
|
||||
|
||||
for (var key in params) {
|
||||
var value = params[key];
|
||||
if ((value != null) && (typeof value != 'function')) {
|
||||
paramsArray.push(encodeURIComponent(key) + "=" +
|
||||
encodeURIComponent(value));
|
||||
var value = params[key];
|
||||
if ((value != null) && (typeof value != 'function')) {
|
||||
var encodedValue;
|
||||
if (typeof value == 'object' && value.constructor == Array) {
|
||||
/* value is an array; encode items and separate with "," */
|
||||
var encodedItemArray = new Array();
|
||||
for (var itemIndex=0; itemIndex<value.length; itemIndex++) {
|
||||
encodedItemArray.push(encodeURIComponent(value[itemIndex]));
|
||||
}
|
||||
encodedValue = encodedItemArray.join(",");
|
||||
}
|
||||
else {
|
||||
/* value is a string; simply encode */
|
||||
encodedValue = encodeURIComponent(value);
|
||||
}
|
||||
paramsArray.push(encodeURIComponent(key) + "=" + encodedValue);
|
||||
}
|
||||
}
|
||||
|
||||
return paramsArray.join("&");
|
||||
|
||||
Reference in New Issue
Block a user