git-svn-id: http://svn.openlayers.org/branches/openlayers/2.9@10175 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
bartvde
2010-04-08 06:23:01 +00:00
parent 2150a2c783
commit bada3d98a1
3 changed files with 41 additions and 12 deletions

View File

@@ -263,7 +263,10 @@ OpenLayers.Layer.Google = OpenLayers.Class(
*/
setVisibility: function(visible) {
this.setGMapVisibility(visible);
// sharing a map container, opacity has to be set per layer
var opacity = this.opacity == null ? 1 : this.opacity;
OpenLayers.Layer.EventPane.prototype.setVisibility.apply(this, arguments);
this.setOpacity(opacity);
},
/**
@@ -303,6 +306,33 @@ OpenLayers.Layer.Google = OpenLayers.Class(
}
},
/**
* APIMethod: setOpacity
* Sets the opacity for the entire layer (all images)
*
* Parameter:
* opacity - {Float}
*/
setOpacity: function(opacity) {
if (opacity !== this.opacity) {
if (this.map != null) {
this.map.events.triggerEvent("changelayer", {
layer: this,
property: "opacity"
});
}
this.opacity = opacity;
}
// Though this layer's opacity may not change, we're sharing a container
// and need to update the opacity for the entire container.
if (this.getVisibility()) {
var container = this.mapObject.getContainer();
OpenLayers.Util.modifyDOMElement(
container, null, null, null, null, null, null, opacity
);
}
},
/**
* APIMethod: destroy
* Clean up this layer.