cesium 中获取entity polygon的positions
时间: 2024-02-28 20:54:40 浏览: 185
在Cesium中,要获取一个Entity的polygon的positions,您可以使用以下代码:
```javascript
var entity = viewer.entities.getById('your-entity-id'); // 根据实体的id获取实体对象
if (entity != undefined && entity.polygon != undefined) {
var positions = entity.polygon.hierarchy.getValue(Cesium.JulianDate.now()).positions; // 获取实体的polygon的位置信息
// 在这里可以对positions进行进一步的处理
}
```
在上述代码中,我们首先通过viewer.entities.getById()方法获取到指定id的实体对象。然后,我们检查该实体对象是否存在,并且该实体对象是否有polygon属性。如果存在polygon属性,则我们可以通过访问其hierarchy属性来获取实体的位置信息。在这里,我们使用getValue()方法来获取当前时间(Cesium.JulianDate.now())下的位置信息。
需要注意的是,polygon的hierarchy属性返回的是一个SampledPositionProperty类型的对象,该对象包含了实体在不同时刻的位置信息。因此,您需要使用getValue()方法来获取当前时间下的位置信息。
另外,获取到的positions可能是一个Cartesian3类型的数组,您可以根据需要将其转换为经纬度坐标或其他坐标系的坐标。
阅读全文