I'm trying to load a layer as an overlay and make it initially not visible

    airBoss = new OpenLayers.Layer.Text( "AirBoss Locations", { location:"./airboss.txt"} , {
    visibility: false, isBaseLayer: false, displayInLayerSwitcher: true});
    airBoss.setVisibility = false;

Using this code with or without the additional "setVisibility" line the layer always is visible. Is this a bug in the JavaScript of OpenLayers or am I doing something wrong?


setVisibility() is a function not an attribute. You just need to change the last line of your sample code to airBoss.setVisibility(false)

ref: http://dev.openlayers.org/releases/OpenLayers-2.12/doc/apidocs/files/OpenLayers/Layer-js.html#OpenLayers.Layer.setVisibility

  • 1
    Duh !! Thanks of course. Thanks for the answer I'll try it today.
    – MB.
    Aug 12 '12 at 18:20
  • Works perfeectly now, however even though I have displayInLayerSwitcher: false (changed the code) it still shows it in the layer switcher
    – MB.
    Aug 13 '12 at 16:17
  • @MB - same question was just asked today. check it out. gis.stackexchange.com/questions/31370/…
    – Vadim
    Aug 13 '12 at 17:34
  • Yeah this is exactly what I have in my script tried with and without the single quote marks. I think it works for WMS layers not text layers though
    – MB.
    Aug 13 '12 at 20:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.