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

拾取调试:屏幕坐标与地表位置

拾取不准的时候,先看三行数:屏幕坐标、命中类型、地表经纬度。哪一环断了都能看出来。

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

这个示例在做什么

面板实时显示三项数据:光标的屏幕坐标、拾取到的对象类型、以及光标对应的地表经纬度。 在建筑上移动显示 Entity,在空处显示「空」。

排查拾取问题时,这三行信息基本够用:屏幕坐标判断事件是否触发, 对象类型判断是否命中了预期对象,地表坐标判断投影是否落在正确位置。 3D Tiles 的要素拾取会返回 Cesium3DTileFeature, 在类型判断里补一个分支就能区分。

关键接口

接口作用
scene.pick(pos)硬件拾取,返回最近的命中对象
camera.pickEllipsoid(pos)几何投影,始终能拿到地表坐标
scene.pickPosition(pos)逐像素读取深度,精度更高但更耗性能
Cesium3DTileFeature瓦片要素类型,判断分支里再加上它

可以直接改的地方

位置改什么效果
pickEllipsoid换成 pickPosition坐标精度提高,靠近模型边缘时更准
MOUSE_MOVE改成 LEFT_CLICK只在点击时输出
toFixed(5)改成 8经纬度保留更多位
HUD 文本增加 picked.id.id显示实体 GUID

替代说明:官方示例在真实瓦片上逐像素检查拾取结果,属于开发调试用途。 这里用实体复现同一套诊断信息;真实数据下把类型判断补上瓦片分支即可。