entity的闪烁主要是通过回调函数​​CallbackProperty​​,控制样式改变或是否显示

Cesium entity闪烁(点、面以及billboard)_回调函数

1. 点的闪烁
function f2(){



var x=1;
var flog=true;
viewer.entities.add({



name:"圆点point闪烁",
position:Cesium.Cartesian3.fromDegrees(116.20+0.03,39.53+0.03,0),
point : {



show : true, // default
color :new Cesium.CallbackProperty(function () {



if(flog){



x=x-0.05;
if(x<=0){



flog=false;
}
}else{



x=x+0.05;
if(x>=1){



flog=true;
}
}
return Cesium.Color.RED.withAlpha(x);
},false),
pixelSize : 10, // default: 1
outlineWidth :0
}
});
}


2. 面的闪烁
function f1() {



var x = 1;
var flog = true;
viewer.entities.add({



name: "圆形区域闪烁",
position: Cesium.Cartesian3.fromDegrees(116.20, 39.53, 0),
ellipse: {



semiMinorAxis: 2000.0,
semiMajorAxis: 2000.0,
height: 0,
material: new Cesium.ColorMaterialProperty(new Cesium.CallbackProperty(function () {



if (flog) {



x = x - 0.05;
if (x <= 0) {



flog = false;
}
} else {



x = x + 0.05;
if (x >= 1) {



flog = true;
}
}
console.log(x)
return Cesium.Color.RED.withAlpha(x);
}, false))
}
});
}


3. billboard图片的闪烁
function f1() {



var x = 1;
var flog = true;
viewer.entities.add({



name: 'singleWarning',
position: Cesium.Cartesian3.fromDegrees(116.20, 39.53),
billboard: {



image: '预警定位.png',
name: 'singleWarning',
show: new Cesium.CallbackProperty(function () {



if (flog) {



x = x - 0.05;
if (x <= 0) {



flog = false;
}
} else {



x = x + 0.05;
if (x >= 1) {



flog = true;
}
}
return x >= 0.5;
},false),
width: 100,
height: 100,
distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 6.8e10)
},
})
}


这里的方法其实就是通过CallbackProperty控制show为true或者false,如果x>=0.5,就是true,反之为false