Skip to content

概述

利用 Cesium 的事件能力,可以对 3D Tiles 进行交互控制。

javascript
let lastFeature
const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas)
handler.setInputAction(function (e) {
  const pick = viewer.scene.pick(e.position)

  if (pick instanceof Cesium.Cesium3DTileFeature) {

    if (lastFeature && lastFeature !== pick) {
      lastFeature.color = Cesium.Color.WHITE
    }

    pick.color = Cesium.Color.RED
    lastFeature = pick
  }

}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
javascript
let lastFeature
const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas)
handler.setInputAction(function (e) {
  const pick = viewer.scene.pick(e.position)
 
  if (lastFeature && lastFeature !== pick) {
    lastFeature.detail.model.color = Cesium.Color.WHITE
  }

  pick.detail.model.color = Cesium.Color.RED
  lastFeature = pick
  
}, Cesium.ScreenSpaceEventType.LEFT_CLICK)
/