Cesium3DTileFeature

new Cesium.Cesium3DTileFeature()

Cesium3DTileset的要素。

提供通过Cesium3DTileFeature#showCesium3DTileFeature#color访问存储在瓦片的批处理表中的要素的特性, 以及显示/隐藏要素和更改其突出显示颜色的能力。

Cesium3DTileFeature对象的修改具有瓦片内容的生存期。 如果瓦片的内容被卸载,例如,由于它离开了视图,需要为可见的瓦片释放缓存中的空间, 那么监听Cesium3DTileset#tileUnload事件来保存任何修改。 还可以监听Cesium3DTileset#tileVisible事件来重新应用任何修改。

不要直接构造它。通过Cesium3DTileContent#getFeature或挑选使用Scene#pickScene#pickPosition访问它。

Example:
// 鼠标悬停后,在控制台日志中显示某个要素所有属性。
handler.setInputAction(function(movement) {
    var feature = scene.pick(movement.endPosition);
    if (feature instanceof Cesium.Cesium3DTileFeature) {
        var propertyNames = feature.getPropertyNames();
        var length = propertyNames.length;
        for (var i = 0; i < length; ++i) {
            var propertyName = propertyNames[i];
            console.log(propertyName + ': ' + feature.getProperty(propertyName));
        }
    }
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

Members

获取或设置与要素的颜色相乘的突出显示颜色。 当这是白色时,要素的颜色不会改变。这是在评估样式颜色时为所有要素设置的。
Default Value: Color.WHITE
Scene#pick返回的所有对象都有一个primitive属性。这将返回包含该要素的tileset。
获取或设置将显示的要素。这是在评估样式的显示时为所有要素设置的。
Default Value: true
获取包含该要素的tileset。

Methods

getProperty(name)*

返回具有给定名称的要素的属性值的副本。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
Name Type Description
name String 区分大小写的属性名。
Returns:
属性的值,如果属性不存在,则undefined
Example:
// 在控制台日志中显示某个要素的所有属性。
var propertyNames = feature.getPropertyNames();
var length = propertyNames.length;
for (var i = 0; i < length; ++i) {
    var propertyName = propertyNames[i];
    console.log(propertyName + ': ' + feature.getProperty(propertyName));
}
See:

getPropertyNames(results)Array.<String>

返回要素的属性名称数组。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
Name Type Description
results Array.<String> 存储结果的数组。
Returns:
要素的属性的名称。
See:

hasProperty(name)Boolean

返回要素是否包含此属性。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
Name Type Description
name String 区分大小写的属性名。
Returns:
要素是否包含此属性。
See:

setProperty(name, value)

使用给定名称设置要素的属性的值。

如果具有给定名称的属性不存在,则创建它。

Name Type Description
name String 区分大小写的属性名。
value * 要复制的属性的值。
Throws:
  • DeveloperError : 继承的批处理表层次结构属性为只读。
Examples:
var height = feature.getProperty('Height'); // e.g., the height of a building
var name = 'clicked';
if (feature.getProperty(name)) {
    console.log('already clicked');
} else {
    feature.setProperty(name, true);
    console.log('first click');
}