بنقرة واحدة
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