diff --git a/lib/OpenLayers/Control/LayerSwitcher.js b/lib/OpenLayers/Control/LayerSwitcher.js index ab64fd21ba..2a1e406231 100644 --- a/lib/OpenLayers/Control/LayerSwitcher.js +++ b/lib/OpenLayers/Control/LayerSwitcher.js @@ -119,7 +119,7 @@ OpenLayers.Control.LayerSwitcher.prototype = inputElem.type = (baseLayer) ? "radio" : "checkbox"; inputElem.value = layer.name; inputElem.checked = checked; - inputElem.checked = checked; + inputElem.defaultChecked = checked; inputElem.layer = layer; inputElem.control = this; Event.observe(inputElem, "mouseup", @@ -164,11 +164,13 @@ OpenLayers.Control.LayerSwitcher.prototype = onInputClick: function(e) { if (this.type == "radio") { this.checked = true; + this.layer.map.setBaseLayer(this.layer, true); + this.layer.map.events.triggerEvent("changebaselayer"); } else { this.checked = !this.checked; + this.control.updateMap(); } Event.stop(e); - this.control.updateMap(); }, /** Need to update the map accordingly whenever user clicks in either of