如何使用 javascript 引用 Cesium 多边形层次结构中其他实体的位置?
How to reference positions of other entities in polygon hierarchy of Cesium using javascript?
我正在使用 Cesium 来可视化我的场景,我想在 JavaScript 中创建一个多边形,使用其他移动实体的位置作为其端点的参考。正如 this question 的答案中所建议的那样,使用 CZML。
我想知道我是否可以在 JavaScript 中做到这一点(引用其他实体的位置作为我的多边形的端点)。我尝试了一些东西但没有用,例如,以下是我的代码:
var newPoly= viewer.entities.add({
id : resourceSet[objIndex].id+"poly",
name:resourceSet[objIndex].id+"poly",
availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start : start,
stop : stop
})]),
polygon:{
hierarchy :{
positions:{
references:[
Cesium.ReferenceProperty.fromString(collection, ''+entityName+'#position'),
Cesium.ReferenceProperty.fromString(collection, ''+baseEntity[0].id+'#position'),
Cesium.ReferenceProperty.fromString(collection, ''+baseEntity[1].id+'#position')
]
}
},
material :Cesium.Color.AQUA.withAlpha(0.5),
perPositionHeight : true,
show : true
},
show: true
})
作为参考,我也试过了:
- 只需使用实体和位置,例如:
entity.position
- 使用
entity$position
.
None 成功了!
实体属性有一个 getValue 函数,它以 JulianDate 时间作为参数,returns 是当时的值。
要获得职位,您应该能够执行类似
的操作
var position = entity.position.getValue(viewer.clock.currentTime);
在 JavaScript 中对我有用的是用 new Cesium.PositionPropertyArray([])
.
定义 positions
属性
This post on Cesium's Community Forum Scott_Hunter 帮助了我,特别是第二个 link 到 Sandcastle。
我正在使用 Cesium 来可视化我的场景,我想在 JavaScript 中创建一个多边形,使用其他移动实体的位置作为其端点的参考。正如 this question 的答案中所建议的那样,使用 CZML。
我想知道我是否可以在 JavaScript 中做到这一点(引用其他实体的位置作为我的多边形的端点)。我尝试了一些东西但没有用,例如,以下是我的代码:
var newPoly= viewer.entities.add({
id : resourceSet[objIndex].id+"poly",
name:resourceSet[objIndex].id+"poly",
availability : new Cesium.TimeIntervalCollection([new Cesium.TimeInterval({
start : start,
stop : stop
})]),
polygon:{
hierarchy :{
positions:{
references:[
Cesium.ReferenceProperty.fromString(collection, ''+entityName+'#position'),
Cesium.ReferenceProperty.fromString(collection, ''+baseEntity[0].id+'#position'),
Cesium.ReferenceProperty.fromString(collection, ''+baseEntity[1].id+'#position')
]
}
},
material :Cesium.Color.AQUA.withAlpha(0.5),
perPositionHeight : true,
show : true
},
show: true
})
作为参考,我也试过了:
- 只需使用实体和位置,例如:
entity.position
- 使用
entity$position
.
None 成功了!
实体属性有一个 getValue 函数,它以 JulianDate 时间作为参数,returns 是当时的值。 要获得职位,您应该能够执行类似
的操作var position = entity.position.getValue(viewer.clock.currentTime);
在 JavaScript 中对我有用的是用 new Cesium.PositionPropertyArray([])
.
positions
属性
This post on Cesium's Community Forum Scott_Hunter 帮助了我,特别是第二个 link 到 Sandcastle。