BM3DTileFeature

ABM3DTileset的特征。

提供对存储在瓦片批处理表中的功能属性的访问,以及分别通过BM3DTileFeature#showBM3DTileFeature#color显示/隐藏功能和更改其突出显示颜色的功能。

BM3DTileFeature对象的修改具有瓦片内容的寿命。如果瓦片的内容被卸载,例如,由于它超出了视图范围,需要在缓存中为可见的瓦片释放空间,请侦听BM3DTileset#tileUnload事件以保存任何修改。同时倾听BM3DTileset#tileVisible事件以重新应用任何修改。

请勿直接构造。通过BM3DTileContent#getFeature或使用Scene#pickScene#pickPosition选择。

new BM3DTileFeature()
Example
// On mouse over, display all the properties for a feature in the console log.
handler.setInputAction(function(movement) {
    var feature = scene.pick(movement.endPosition);
    if (feature instanceof bmgl.BM3DTileFeature) {
        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));
        }
    }
}, bmgl.ScreenSpaceEventType.MOUSE_MOVE);

Members

color : Color

获取或设置与功能的颜色相乘的突出显示颜色。如果是白色,则不会更改功能的颜色。当评估样式的颜色时,将为所有功能设置此选项。
Default Value: Color.WHITE

(readonly) primitive : BM3DTileset

Scene#pick返回的所有对象都具有primitive属性。这将返回包含该功能的tileset。

show : Boolean

获取或设置是否显示该功能。当评估样式的显示时,将为所有功能设置此选项。
Default Value: true

(readonly) tileset : BM3DTileset

获取包含该功能的tileset。

Methods

getProperty(name) → {*}
返回具有给定名称的功能属性值的副本。这包括使用批处理表层次结构时来自此功能类和继承类的属性。
Parameters:
name (String) 属性的区分大小写的名称。
Example
// Display all the properties for a feature in the console log.
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>}
返回功能的属性名称数组。这包括使用批处理表层次结构时来自此功能类和继承类的属性。
Parameters:
results (Array.<String>) 存储结果的数组。
See:
hasProperty(name) → {Boolean}
返回功能是否包含此属性。这包括使用批处理表层次结构时来自此功能类和继承类的属性。
Parameters:
name (String) 属性的区分大小写的名称。
See:
setProperty(name, value)
使用给定的名称设置功能属性的值。

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

Parameters:
name (String) 属性的区分大小写的名称。
value (*) 将要复制的属性的值。
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');
}
Throws
  • DeveloperError : 继承的批处理表层次结构属性是只读的。