麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - Cesium3DTileFeature 中文文档

本文介绍下Cesium中 Cesium3DTileFeature API的详细使用说明。

Cesium3DTileFeature API 调用方法

new Cesium.Cesium3DTileFeature()
Cesium3DTileset的要素。

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

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

不要直接构造它。通过Cesium3DTileContent#getFeature或挑选使用Scene#pickScene#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
获取包含该要素的tileset。

内置方法

getProperty(name)*
返回具有给定名称的要素的属性值的副本。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
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));
}
参考:
getPropertyNames(results)Array.<String>
返回要素的属性名称数组。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
Name Type Description
results Array.<String> 存储结果的数组。
返回值:
要素的属性的名称。
参考:
hasProperty(name)Boolean
返回要素是否包含此属性。这包括使用批处理表层次结构时来自该要素的类和继承的类的属性。
Name Type Description
name String 区分大小写的属性名。
返回值:
要素是否包含此属性。
参考:
setProperty(name, value)
使用给定名称设置要素的属性的值。

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

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');
}

其他API

Cesium中文API文档手册(v1.63.1版本)参考:《Cesium中文API文档手册(v1.63.1版本)

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

留言板(小编看到第一时间回复)