cesium点击gltf模型获取属性信息
时间: 2023-02-06 08:21:33 浏览: 634
深圳仿真纹理模型,从3dwarehouse中下载
可以使用 Cesium 提供的 `Cesium.createPropertyDescriptor` 函数来为 GLTF 模型添加属性描述符。例如:
```
var entity = viewer.entities.add({
name : 'Red box',
position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883),
box : {
dimensions : new Cesium.Cartesian3(400000.0, 300000.0, 500000.0),
material : Cesium.Color.RED
}
});
// 为实体添加属性描述符
Cesium.createPropertyDescriptor(entity, 'description', '这是一个红色的盒子。');
```
然后,可以在监听鼠标单击事件时使用 `viewer.selectedEntity` 属性来获取当前选择的实体,并使用 `getProperty` 方法获取其属性值。例如:
```
viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
var pickedObject = viewer.scene.pick(movement.position);
if (Cesium.defined(pickedObject) && Cesium.defined(pickedObject.id)) {
var entity = viewer.entities.getById(pickedObject.id);
console.log(entity.getProperty('description'));
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
```
请注意,在这种情况下,你需要确保 GLTF 模型已正确定义,并且已将属性描述符添加到实体中。
阅读全文