最近接到新的需求,要求使用Cesium上文字的颜色客户看不清楚,索性就极致了一把,让客户自定义颜色,这样你应该满意了吧!
但是Cesium的颜色是自己写了一个Color的类,比如Cesium.Color.RED,这样局限性就比较大,不能根据传入的css样式来自定义颜色。
网上找了一下没有找到相关的资料,因此官网走一波。
走进官网Document,搜索Color类,一直往下走,找了会儿就找到了Cesium.Color.fromCssColorString(_textColor)这个类
_textColor是我自定义传入css样式#001aff 比如这种格式
详细的代码如下,这是创建一个自定义图片的标绘。
_map.entities.add({
name : name,
id:key,
description: "<div>位置:"+location+"</div><div>描述:"+des+"</div>",
position : Cesium.Cartesian3.fromDegrees(loc[1]-0,loc[0]-0,height-0),
billboard : {
image : iconUrl,
width : 36,
height : 36
},
label : {
text : name||'',
font : '12px sans-serif',
style: Cesium.LabelStyle.FILL,
fillColor : Cesium.Color.fromCssColorString(_textColor),
//outlineColor: Cesium.Color.BLACK,
backgroundColor:new Cesium.Color(0.165, 0.165, 0.165, 0.8),
showBackground:false,
outlineWidth : 2,
verticalOrigin : Cesium.VerticalOrigin.BOTTOM,
pixelOffset : new Cesium.Cartesian2(0, 30)
}
});
效果图: