Skip to content

Commit d3ed6f5

Browse files
committed
Support layer opacity for vector points
1 parent b5a4687 commit d3ed6f5

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/core.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -789,16 +789,19 @@ goog.require('olcs.core.OlLayerPrimitive');
789789
var position = olcs.core.ol4326CoordinateToCesiumCartesian(center);
790790
var color;
791791
var opacity = imageStyle.getOpacity();
792-
if (goog.isDef(opacity)) {
793-
color = new Cesium.Color(1.0, 1.0, 1.0, opacity);
792+
if (!goog.isDef(opacity)) {
793+
opacity = 1;
794794
}
795+
color = new Cesium.Color(1.0, 1.0, 1.0,
796+
opacity * billboards.olLayerOpacity);
795797
var bb = billboards.add({
796798
// always update Cesium externs before adding a property
797799
image: image,
798800
color: color,
799801
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
800802
position: position
801803
});
804+
bb.olStyleOpacity = opacity;
802805
if (opt_newBillboardCallback) {
803806
opt_newBillboardCallback(bb);
804807
}

src/vectorsynchronizer.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,22 @@ olcs.VectorSynchronizer.prototype.createSingleCounterpart = function(olLayer) {
8181
csPrimitives.show = olLayer.getVisible();
8282
});
8383

84+
var onOpacityChange = function() {
85+
var bbs = csPrimitives.context.billboards;
86+
var opacity = olLayer.getOpacity();
87+
if (!goog.isDef(opacity)) {
88+
opacity = 1;
89+
}
90+
bbs.olLayerOpacity = opacity;
91+
var i, bb;
92+
for (i = bbs.length - 1; i >= 0; --i) {
93+
bb = bbs.get(i);
94+
bb.color = new Cesium.Color(1.0, 1.0, 1.0, bb.olStyleOpacity * opacity);
95+
}
96+
};
97+
olLayer.on('change:opacity', onOpacityChange);
98+
onOpacityChange();
99+
84100
var onAddFeature = function(feature) {
85101
goog.asserts.assertInstanceof(olLayer, ol.layer.Vector);
86102
var prim = csPrimitives.convert(olLayer, view, feature);

0 commit comments

Comments
 (0)