[OpenLayers-Users] transparent param not sent to WMS service
myOpenLayersUName
joanne.mcgraw at SYMPATICO.CA
Wed Sep 9 20:02:46 EDT 2009
Hello,
If there is something I am doing incorrectly in trying to access the
railway_30m layer (below) transparently, please let me know. Otherwise, I
thought this was something I should draw someone's attention to.
Although this item is somewhat related to
http://n2.nabble.com/WMS-transparent-TRUE-versus-true-td1823416.html#a1823416
and http://trac.openlayers.org/ticket/678 (which was, I believe, submitted
to address the problem reported in the first link), I don't believe those
items dealt with actually trying to set transparency on a WMS layer as
suggested.
In OpenLayers 2.8, given the following example:
var options = {
projection: "EPSG:4269",
maxExtent: new OpenLayers.Bounds(-135, 38, -50, 78),
};
this.map = new OpenLayers.Map('map', options );
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, visibility: true, transitionEffect: 'resize'});
this.map.addLayers([CTISwms]);
var CTIS_wms_limits = new OpenLayers.Layer.WMS( "CTI-S WMS, limits",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'limits', format: 'image/png'},
{isBaseLayer: true, visibility: true, transitionEffect: 'resize'});
this.map.addLayers([CTIS_wms_limits]);
this.map.zoomToMaxExtent();
I have been unable to set the railway_30m layer to be transparent using any
of the following syntax:
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, transparent: true, visibility: true,
transitionEffect: 'resize'});
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, transparent: "true", visibility: true,
transitionEffect: 'resize'});
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, visibility: true, transitionEffect: 'resize',
params: {TRANSPARENT: true}});
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, visibility: true, transitionEffect: 'resize',
params: {TRANSPARENT: "true"}});
None of the above will actually send the TRANSPARENT parameter in the
request to the WMS service. The only way I was able to get the request to be
sent with that parameter and to get the layer to display transparently was
as follows:
var CTISwms = new OpenLayers.Layer.WMS( "CTI-S WMS",
"http://wms.sst-sw.rncan.gc.ca/wms/toporama_en?transparent=true",
{layers: 'railway_30m', format: 'image/png'},
{isBaseLayer: false, visibility: true, transitionEffect: 'resize'});
Also, I noticed while investigating this that both WMS.js and
ArcGIS93Rest.js assume that params.TRANSPARENT is a string and do not handle
boolean anymore as suggested by the fix noted above.
--
View this message in context: http://n2.nabble.com/transparent-param-not-sent-to-WMS-service-tp3615475p3615475.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list