Cesium3DTileset
的要素。
提供通过Cesium3DTileFeature#show
和Cesium3DTileFeature#color
访问存储在瓦片的批处理表中的要素的特性,
以及显示/隐藏要素和更改其突出显示颜色的能力。
对Cesium3DTileFeature
对象的修改具有瓦片内容的生存期。
如果瓦片的内容被卸载,例如,由于它离开了视图,需要为可见的瓦片释放缓存中的空间,
那么监听Cesium3DTileset#tileUnload
事件来保存任何修改。
还可以监听Cesium3DTileset#tileVisible
事件来重新应用任何修改。
不要直接构造它。通过Cesium3DTileContent#getFeature
或挑选使用Scene#pick
和Scene#pickPosition
访问它。
// 鼠标悬停后,在控制台日志中显示某个要素所有属性。
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);
成员变量
-
Default Value:
Color.WHITE
Scene#pick
返回的所有对象都有一个primitive
属性。这将返回包含该要素的tileset。
-
Default Value:
true
内置方法
Name | Type | Description |
---|---|---|
name |
String | 区分大小写的属性名。 |
undefined
。
// 在控制台日志中显示某个要素的所有属性。
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));
}
Name | Type | Description |
---|---|---|
results |
Array.<String> | 存储结果的数组。 |
Name | Type | Description |
---|---|---|
name |
String | 区分大小写的属性名。 |
如果具有给定名称的属性不存在,则创建它。
Name | Type | Description |
---|---|---|
name |
String | 区分大小写的属性名。 |
value |
* | 要复制的属性的值。 |
-
DeveloperError : 继承的批处理表层次结构属性为只读。
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');
}