NearFarScalar是一个由四个数字值构成的对象,用于控制Cesium中图形的可见性。它的作用是根据相机与对象的距离来控制对象的出现和消失。在Cesium中,如果一个对象或者几何体与摄像机距离太远或者太近,那么它就会消失或者出现。而这个距离的阈值通常通过NearFarScalar对象来设置。
NearFarScalar对象可以通过以下方式进行设置:
var nearFarScalar = new Cesium.NearFarScalar(near, nearValue, far, farValue);
上述代码创建了一个NearFarScalar对象,并按照以下参数进行了设置:
下面是一个在地球表面添加图标并设置NearFarScalar的完整示例代码:
// 创建场景
var viewer = new Cesium.Viewer('cesiumContainer');
// 添加图标
var iconEntity = viewer.entities.add({
name : 'Icon',
position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
billboard : {
image : '../images/cesium.png'
}
});
// 设置NearFarScalar对象
var nearFarScalar = new Cesium.NearFarScalar(100, 1.5, 100000, 0.0);
iconEntity.billboard.scaleByDistance = nearFarScalar;
上述代码将在地图上添加一个图标,并且根据距离设置该图标的可见度。当距离非常接近时,图标比例被设置为1.5。当距离远离时,图标消失。