麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - Cesium3DTilePointFeature 中文文档

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

Cesium3DTilePointFeature API 调用方法

new Cesium.Cesium3DTilePointFeature()
Cesium3DTileset的点要素。

提供对存储在批处理表中的要素的访问,以及显示/隐藏要素和更改其点属性的功能。

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

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

示例:
// 鼠标悬停后,在控制台日志中显示某个要素的所有属性。
handler.setInputAction(function(movement) {
    var feature = scene.pick(movement.endPosition);
    if (feature instanceof Cesium.Cesium3DTilePointFeature) {
        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);
实验功能说明:

这个要素是使用的3D瓦片规范的一部分,不是最终的,并可能会改变没有Cesium的标准弃用政策。

成员变量

获取或设置锚线的颜色。

仅在定义heightOffset时应用。

anchorLineEnabled : Boolean
获取或设置是否显示锚线。

仅在定义heightOffset时应用。

获取或设置此要素的文本的背景颜色。

仅在定义labelText时应用。

backgroundEnabled : Boolean
获取或设置是否显示此要素的文本背景。

仅在定义labelText时应用。

获取或设置此要素的文本背景填充。

仅在定义labelText时应用。

获取或设置此要素点的颜色。

仅当imageundefined时应用。

disableDepthTestDistance : Number
获取或设置将禁用深度测试的距离。
获取或设置指定将显示此要素的相机距离条件。
获取或设置此要素的字体。

仅在定义labelText时应用。

获取或设置此要素的高度偏移(以米为单位)。
获取或设置此点的水平原点,该原点确定该点是否位于其锚点位置的左侧、中部或右侧。
获取或设置此要素的图像。
获取或设置此要素的标签颜色。

如果labelText被定义,颜色将被应用到标签上。

获取或设置该点文本的水平原点,该原点确定该点文本是否位于其锚点位置的左侧、中部或右侧。
获取或设置此要素的标签轮廓颜色。

如果labelText被定义,则轮廓颜色将应用到标签上。

labelOutlineWidth : Number
获取或设置此要的轮廓宽度(以像素为单位)。

如果labelText被定义,则将轮廓宽度应用于该点。

获取或设置此要素的填充和轮廓样式。

仅在定义labelText时应用。

获取或设置此要素的文本。
获取或设置该点文本的垂直原点,该原点确定该点文本是否位于其锚点的底部、中心、顶部还是基线。
获取或设置此要素的点轮廓颜色。

仅当imageundefined时应用。

pointOutlineWidth : Number
获取或设置此要素的点轮廓宽度(以像素为单位)。

仅当imageundefined时应用。

获取或设置此要素的点大小。

仅当imageundefined时应用。

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知识星球
私享圈子

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