Skip to content

概述

通过 viewer.scene.pick() 可以获取当前事件操作的具体实体对象与图元对象。

javascript
const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas)
handler.setInputAction(function (e) {
const pick = viewer.scene.pick(e.position)
if (Cesium.defined(pick)) {   // 不是实体或图元时,pick是undefined
  if (pick.id === entity) {
    entity.rectangle.material = Cesium.Color.BLUE.withAlpha(0.5)
  } else if (pick.primitive === primitive1) {
    primitive1.appearance.material = Cesium.Material.fromType('Color', {
      color: Cesium.Color.YELLOW.withAlpha(0.5)
    })
  } else if (pick.primitive === primitive2) {
    primitive2.getGeometryInstanceAttributes('rect3').color = Cesium.ColorGeometryInstanceAttribute.toValue(Cesium.Color.GREEN.withAlpha(0.5))
  }
}
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
/