麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

Cesium API - ReferenceProperty 中文文档

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

ReferenceProperty API 调用方法

new Cesium.ReferenceProperty(targetCollection, targetId, targetPropertyNames)
Property 类型。 可以连接(复制)到另外一个或多个对象的属性上。使新创建的对象具有和该对象一样的属性。
Name Type Description
targetCollection EntityCollection 指定将在哪个实体集合中引用。
targetId String 被引用对象ID。
targetPropertyNames Array.<String> 被引用对象属性名。
示例:
var collection = new Cesium.EntityCollection();
// 创建一个实体并设置一个布告牌的比例。
var object1 = new Cesium.Entity({id:'object1'});
object1.billboard = new Cesium.BillboardGraphics();
object1.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object1);
// 创建第二个实体并引用第一个实体中的比例。
var object2 = new Cesium.Entity({id:'object2'});
object2.model = new Cesium.ModelGraphics();
object2.model.scale = new Cesium.ReferenceProperty(collection, 'object1', ['billboard', 'scale']);
collection.add(object2);
// 创建第三个实体,但是这次使用 fromString 帮助函数。
var object3 = new Cesium.Entity({id:'object3'});
object3.billboard = new Cesium.BillboardGraphics();
object3.billboard.scale = Cesium.ReferenceProperty.fromString(collection, 'object1#billboard.scale');
collection.add(object3);
//You can refer to an entity with a # or . in id and property names by escaping them.
// 您也可以使用如下方式来引用。
var object4 = new Cesium.Entity({id:'#object.4'});
object4.billboard = new Cesium.BillboardGraphics();
object4.billboard.scale = new Cesium.ConstantProperty(2.0);
collection.add(object4);
var object5 = new Cesium.Entity({id:'object5'});
object5.billboard = new Cesium.BillboardGraphics();
object5.billboard.scale = Cesium.ReferenceProperty.fromString(collection, '\\#object\\.4#billboard.scale');
collection.add(object5);

成员变量

readonlydefinitionChanged : Event
获取每当此属性的定义更改时引发的事件。 只要更改了引用属性的定义,该定义就会更改。
readonlyisConstant : Boolean
获取此属性是否恒定。
获取定义位置的参考系。 仅当引用的属性是PositionProperty时,此属性才有效。
readonlyresolvedProperty : Property
Gets the resolved instance of the underlying referenced property.
获取包含被引用实体的集合。
readonlytargetId : String
获取被引用的实体ID。
readonlytargetPropertyNames : Array.<String>
获取用于检索引用的属性的属性名称数组。

内置方法

staticCesium.ReferenceProperty.fromString(targetCollection, referenceString)ReferenceProperty
给定一个将用于解析它的实体集合,并创建一个指示目标实体ID和属性的字符串,创建一个新实例。 字符串的格式为“ objectId#foo.bar”,其中#将ID与属性路径和分开。 分隔子属性。 如果引用标识符或任何子属性包含#.或\必须将其转义。
Name Type Description
targetCollection EntityCollection
referenceString String
返回值:
新的ReferenceProperty实例。
异常情况:
equals(other)Boolean
将此属性与提供的属性进行比较。
Name Type Description
other Property optional 其他属性。
返回值:
如果相等。则为 true ,否则为 false
getType(time)String
在提供的时间获取Material类型。 仅当引用的属性是MaterialProperty时,此方法才有效。
Name Type Description
time JulianDate 时间。
返回值:
材质属性。
getValue(time, result)Object
根据提供的时间获取属性值。
Name Type Description
time JulianDate 时间
result Object optional 存储结果的对象(如果省略)将创建并返回一个新实例。
返回值:
修改后的结果参数;如果未提供结果参数,则为新实例。
getValueInReferenceFrame(time, referenceFrame, result)Cartesian3
在提供的时间和提供的参考系中获取属性的值。 仅当被引用的属性是PositionProperty时,此方法才有效。
Name Type Description
time JulianDate 时间。
referenceFrame ReferenceFrame 参考系。
result Cartesian3 optional 存储结果的对象(如果省略)将创建并返回一个新实例。
返回值:
修改后的结果参数;如果未提供结果参数,则为新实例。

其他API

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

相关阅读

麻辣GIS-Sailor

作者:

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

声明

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

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

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

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