一键导入
minemap-style-system
MineMap style 系统规范。用于 style v8 结构、`setStyle()`、diff/keepUserInfo、sprite/glyphs 与样式切换工作流。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
MineMap style 系统规范。用于 style v8 结构、`setStyle()`、diff/keepUserInfo、sprite/glyphs 与样式切换工作流。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
MineMap 3D 公告板(Billboard)专题。覆盖 BillboardMaterial / BillboardGeometry / BillboardInstance 动画、拾取高亮、动态纹理更新与轨迹对象联动;不与 DOM 覆盖物 Marker 混淆。
MineMap 云与大气渲染链。用于启用体积云(多层 CloudLayer)、单片实例化云(map.cloudCollection)、大气散射与太阳 / 天空辐照度,重点说明主分支公开参数与禁用字段。
MineMap 事件订阅模型、图层事件代理、once/off 管理、矢量与三维对象拾取。
MineMap 热力图(heatmap)专题。用于二维 / 三维热力图、贴地热力、聚合权重、热力色阶与 3D 显示模式,重点说明 paint/layout 参数边界与典型失败场景。
MineMap KML 数据源。用于加载 KML / KMZ 文件,解析 LineStyle / IconStyle / LabelStyle / PolyStyle 等样式继承,并把 KML 属性映射为 line / circle / fill / symbol 派生图层。
MineMap 材质与着色规范。覆盖 `StandardMaterial`、`PhongMaterial`、`PhysicalMaterial`、`LambertMaterial`、`PolylineMaterial` 等主流材质的选型与调参。
| name | minemap-style-system |
| description | MineMap style 系统规范。用于 style v8 结构、`setStyle()`、diff/keepUserInfo、sprite/glyphs 与样式切换工作流。 |
MineMap 的 style 不只是“底图 JSON”,而是整个地图渲染状态的组织入口。
从 doc-style.js 与 source/api/map.js 可以确认,style 的核心职责包括:
sourceslayersspriteglyphscenter / zoom / bearing / pitch)因此,style 变更往往不只是“换皮肤”,而是重建或差量更新地图渲染结构。
style 相关正式入口主要是:
map.setStyle(style, options?)map.getStyle()map.isStyleLoaded()style.load 事件setStyle() 的关键选项:
diffkeepUserInfouseCustomCameralocalIdeographFontFamilyprojectiondoc-style.js 已明确:
version: 8sources + layerssetStyle() 的实现明确支持:
nullsetStyle() 不一定等于整图清空重建source/api/map.js 里可见:
options.keepUserInfo 或 options.diff 生效,会走 _diffStyle() / _updateDiff()_updateStyle()这意味着 style 切换有两种完全不同的成本模型:
style.load 后再补业务 source/layer这是 MineMap 里最重要的 style 工作流规则之一。
源码与已有 demo 都反复说明:
因此业务代码应优先组织为:
map.on('style.load', ...)setStyle(style, { keepUserInfo: true }) 的存在,说明 MineMap 已明确区分:
这对这些场景很重要:
setStyle(..., { diff: true }) 不是默认无脑选项。
源码里若差量失败,会 fallback 到完整重建,并发出警告。这说明 diff 是“优化路径”,不是“绝对正确路径”。
setStyle() 选项里有:
useCustomCamera这说明 style 切换时,相机是否跟随 style 配置,是一项必须显式考虑的架构问题。
doc-style.js 已明确:
spriteglyphs因此样式切换时不能只想着“颜色和图层”,还要考虑:
style.load 后挂载keepUserInfodiffuseCustomCamera这是 MineMap 里最常见的时序问题之一。
diff 不是永远安全源码里已经有 fallback 逻辑,说明复杂 style 变化未必总能稳定 diff 成功。
它不是单纯改几个颜色字段,可能涉及:
keepUserInfo 只在真的有“用户追加内容”时才有意义不要默认把所有 style 切换都绑定到它,否则会让运行时状态越来越难推断。
style 是地图渲染主状态,不是一般 UI 配置。
若没有 keepUserInfo,很多运行时附加 source/layer 会被清掉。
这通常和 style 自带相机参数、useCustomCamera 配置有关。
setStyle()source/api/map.jsdocs/src-cn/doc-style.jsdocs/src-cn/doc-source.jsdocs/src-cn/doc-style-layer-migrate.jsdemo/html/BeiDouCodecDemo.htmlminemap-style-and-dataminemap-layer-systemminemap-fundamentalsminemap-scene-components