用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/ming1zhou88/minemap-skills --skill minemap-events-and-picking命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
MineMap 3D 公告板(Billboard)专题。覆盖 BillboardMaterial / BillboardGeometry / BillboardInstance 动画、拾取高亮、动态纹理更新与轨迹对象联动;不与 DOM 覆盖物 Marker 混淆。
MineMap 云与大气渲染链。用于启用体积云(多层 CloudLayer)、单片实例化云(map.cloudCollection)、大气散射与太阳 / 天空辐照度,重点说明主分支公开参数与禁用字段。
MineMap 热力图(heatmap)专题。用于二维 / 三维热力图、贴地热力、聚合权重、热力色阶与 3D 显示模式,重点说明 paint/layout 参数边界与典型失败场景。
基于 SOC 职业分类
正在显示 SKILL.md
| name | minemap-events-and-picking |
| description | MineMap 事件订阅模型、图层事件代理、once/off 管理、矢量与三维对象拾取。 |
map.on("click", "poi-layer", (e) => {
const f = e.features?.[0];
if (!f) return;
new minemap.Popup()
.setLngLat(e.lngLat)
.setHTML(f.properties?.name || "-")
.addTo(map);
});
map.on(type, listener)map.on(type, layerId|layerIds, listener)map.once(...)map.off(...)常见:click、mousemove、mouseenter、mouseleave、load、style.load、data、idle。
e.featuresfeaturesmap.getFeatureByGPUPick(point) 可用于三维对象/tileset 拾取allowPick 关闭)onLayerOrModel)map.on("mousemove", "building-layer", (e) => {
const fid = e.features?.[0]?.id;
if (fid == null) return;
map.setFeatureState({ source: "building", id: fid }, { hover: true });
});
offqueryRenderedFeatures从多个 demo 看,二维图层交互的稳定做法是:
map.queryRenderedFeatures(e.point, { layers: [...] })适合:
业务上不要用 GPU 拾取替代所有二维图层查询。
getFeatureByGPUPick大量 demo 已采用:
map.getFeatureByGPUPick(e.point)map.getFeatureByGPUPickAsync(e.point)适合:
SceneModelSceneTilesetPrimitive如果目标是三维对象,不要先走 queryRenderedFeatures。
getFeatureByGPUPickgetFeatureByGPUPickAsync两者不要在同一点击链路里无意义重复调用。
mousemove)里避免重计算queryRenderedFeatures 必须传 layers 限定范围mouseenter/leave 优于每帧全量命中检测layers 就直接 queryRenderedFeatures,导致结果范围过大allowPick 的三维对象仍然期待 GPU 拾取结果mousemove 中同时做 queryRenderedFeatures 和 getFeatureByGPUPick,导致重复开销demo/html/GeoJSONWithHover.htmldemo/html/GridBoxSelect.htmldemo/html/SymbolPick.htmldemo/html/3DTilesNextPick.htmldemo/html/ParticleSystemClick.htmldemo/html/AnimationTrack.htmlminemap-style-and-dataminemap-scene-components