经纬志
首页 / Cesium / 使用示例

要素拾取与属性查询

三维场景里的「点一下看信息」全靠拾取。示例把属性挂在实体上,点哪栋就显示哪栋的数据。

CesiumJS 1.121 · 更新 2026-10-28
源码与运行效果
运行效果

这个示例在做什么

点击任意一栋建筑,左下角浮层显示编号、类型、高度与体量。拾取由 scene.pick 完成,返回对象的 id 就是被点中的实体, 属性从 id.properties 里取。

3D Tiles 的拾取走同一套入口,但返回的是 Cesium3DTileFeature, 属性通过 feature.getProperty(name) 读取。两者差别只在属性读取方式, 拾取坐标、判断是否命中、清空选中的流程完全一致。

关键接口

接口作用
scene.pick(windowPosition)屏幕坐标拾取,返回命中对象或 undefined
Cesium3DTileFeature.getProperty(name)3D Tiles 里读要素属性
feature.color给选中要素单独上色,做高亮
ScreenSpaceEventHandler绑定 LEFT_CLICK 等事件

可以直接改的地方

位置改什么效果
properties增加字段浮层多一行
LEFT_CLICK改成 MOUSE_MOVE悬停即显示
scene.pick换成 pickPosition取到地面坐标
palette换配色建筑颜色

替代说明:官方示例从 ion 的 3D Tiles 数据集里拾取要素并读取批表属性。 这里用实体属性承载同一份信息流;换成 tileset 后把 picked.id.properties 换成 picked.getProperty 即可。