with one click
minemap-layer-system
MineMap 图层系统规范。用于图层类型选型、各类 layer 参数展开、增删改移、过滤、缩放范围与渲染顺序控制。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
MineMap 图层系统规范。用于图层类型选型、各类 layer 参数展开、增删改移、过滤、缩放范围与渲染顺序控制。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
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-layer-system |
| description | MineMap 图层系统规范。用于图层类型选型、各类 layer 参数展开、增删改移、过滤、缩放范围与渲染顺序控制。 |
MineMap 的 layer 体系仍然是 2D/2.5D 地图渲染主干,但不是全部三维能力的统一入口。
从 source/api/map.js 与 source/style/style_layer/*.js 可确认,正式 style/layer 类型主要包括:
backgroundcirclefilllinesymbolrasterheatmapextrusionspritetrackingsymtrackinghistogramdynamicLine / dynamic-line 兼容体系3d-model / 3d-tiles结论要先分两层:
background、circle、fill、line、symbol、raster、heatmap、extrusionsprite、tracking、symtracking、histogram、dynamicLine、3d-model、3d-tiles统一原则:
addSource() + addLayer()map.addSceneComponent()Primitive / Geometry 更清晰图层系统的主要入口:
map.addLayer(layer, before?)map.removeLayer(id)map.getLayer(id)map.moveLayer(id, beforeId?)map.upwardMoveLayer(id, afterId?)map.setFilter(layerId, filter)map.setSourceFilter(layerId, filter)map.setLayerZoomRange(layerId, minzoom, maxzoom)map.setPaintProperty(layerId, name, value)map.getPaintProperty(layerId, name)map.setLayoutProperty(layerId, name, value)map.getLayoutProperty(layerId, name)几乎所有 layer 注释都重复强调了同一组通用字段:
id:图层唯一标识type:图层类型source:source id;部分 demo 也支持内联 source,但长期维护不如分开写清楚source-layer / sourceLayer:仅对 MVT / vector tile 有意义filter:按要素属性过滤minzoom / maxzoom:图层显示区间layout.visibility:visible / nonesource.maxzoom 和 layer.maxzoom 的真实关系源码注释在多个图层类里都重复写了同一条规则:
source.maxzoom < layer.maxzoom,则在 (source.maxzoom, layer.maxzoom] 之间仍会显示,但本质是在放大 source 最高级别的数据source.maxzoom > layer.maxzoom,则在 (layer.maxzoom, source.maxzoom] 之间图层不会显示,即使 source 还有更高层级数据所以:
SceneModel / SceneTileset / primitivelayout / paintbackground用途:背景色、背景纹理、DEM 派生地形分析色带。
兼容数据:本质上不依赖普通矢量 source;做坡度/坡向/高程分带时通常配合 terrain。
关键 layout:
visibility关键 paint:
background-color:背景颜色background-pattern:背景纹理名,来自 spritebackground-pattern-fixed:纹理是否固定,不随 zoom 变化background-opacity:背景透明度background-terrain-analysis:DEM 分析颜色表达式,支持 slope / aspect / elevation_bandMineMap 特有项:
show-depth:调试项,不建议外部使用present-shadow:注释明确写了“外部不支持创建,强烈不建议”严格约束:
circle用途:点要素圆点渲染,适合 POI、采样点、聚合点结果。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
circle-sort-keyvisibilitycircle-height-key:用属性字段给 circle 提供高程,不写则不带高程关键 paint:
circle-radiuscircle-colorcircle-blurcircle-opacitycircle-stroke-widthcircle-stroke-colorcircle-stroke-opacitycircle-pitch-scale:map / viewportcircle-pitch-alignment:map / viewportcircle-translatecircle-translate-anchor说明:
circle-translate* 在 4.22 源码注释里已标成“弃用”语义PointPrimitiveCollectionline用途:普通线、道路、边界、渐变线、贴地图案线、带附属线名 symbol 的线图层。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
line-cap:butt / round-butt / round / squareline-join:miter / round / bevelline-miter-limitline-round-limitline-sort-keyline-height-offsetborder-visibilityvisibility关键 paint:
line-opacityline-colorline-widthline-border-widthline-border-opacityline-border-colorline-gap-widthline-offsetline-blurline-dasharrayline-patternline-gradientline-translateline-translate-anchorhalf-renderline-normal-directionMineMap 特有项:
stencil-test:解决同层重叠问题的内部向参数,不建议随意手写symbolLayerConfig:给线附带一层线名 / 路名 symbol 配置symbolLayerConfig 常用字段:
layout.text-fieldlayout.text-sizelayout.text-line-heightlayout.text-allow-overlaplayout.text-pitch-alignmentlayout.symbol-placement,默认常见是 line-centerlayout.text-justifylayout.text-letter-spacinglayout.text-max-anglepaint.text-colorpaint.text-opacitydepth-testauto-heightauto-height-offsethiddenType严格约束:
line-gradient 只能与 lineMetrics: true 的 GeoJSON source 一起用PolylineGeometry,大量贴地线优先 source 的 adaptTerrainhalf-render、line-normal-direction 注释仍标记为“暂不生效”fill用途:矢量面、区域底色、面贴图、水面类 fill、面附带文字、面附带边线。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
fill-sort-keydynamic:water / none,注释标记为暂不生效visibility关键 paint:
fill-antialiasfill-opacityfill-colorfill-outline-colorfill-patternfill-translate-anchorfill-waterfill-water-texturefill-water-speedfill-water-wave-sizesunlight-colorsunlight-directionsky-colorfill-dynamic-speedfill-dynamic-image-urlfill-offsetfill-rotationfill-scaleMineMap 特有层级参数:
symbolLayerConfig:给面附带标签borderLayerConfig:给面附带边线depthreflectivityflowSpeedflowScalewaterAbsorptionCoeffheightOffsetsymbolLayerConfig 常见字段:
layout.text-fieldlayout.text-sizelayout.text-max-widthlayout.text-line-heightlayout.text-allow-overlaplayout.text-pitch-alignmentpaint.text-colorpaint.text-opacitydepth-testauto-heightauto-height-offsethiddenTypeborderLayerConfig 常见字段:
paint.line-colorpaint.line-opacitypaint.line-widthpaint.line-dasharray严格约束:
fill-pattern 仍有问题,“暂时不要使用”fill-dynamic-speed、fill-dynamic-image-url 注释写明“暂不生效”PolygonGeometrysymbol用途:点图标、点文字、点图文、沿线标注、线中心标注、带高程 symbol。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
symbol-placement:point / line / line-centersymbol-spacingsymbol-avoid-edgessymbol-sort-keysymbol-z-ordersymbol-height-keysymbol-height-offsetsymbol-pick-color图标相关 layout:
icon-imageicon-sizeicon-rotateicon-paddingicon-keep-uprighticon-offseticon-anchoricon-pitch-alignmenticon-rotation-alignmenticon-allow-overlapicon-ignore-placementicon-optionalicon-text-fiticon-text-fit-padding文字相关 layout:
text-fieldtext-fonttext-sizetext-max-widthtext-line-heighttext-letter-spacingtext-anchortext-max-angletext-rotatetext-paddingtext-keep-uprighttext-transformtext-offsettext-allow-overlaptext-variable-anchortext-justifytext-radial-offsettext-ignore-placementtext-optionaltext-pitch-alignmenttext-rotation-alignmentvisibility关键 paint:
icon-opacityicon-coloricon-halo-coloricon-halo-widthicon-halo-bluricon-translateicon-translate-anchortext-opacitytext-colortext-halo-colortext-halo-widthtext-halo-blurtext-translatetext-translate-anchorMineMap 特有层级参数:
auto-heightauto-height-offsethiddenTypeclassificationType严格约束:
classificationType 只支持 minemap.ClassificationType.FORCE_VECTOR_OVER_MODELsymbol-pick-color 仅在带高程 symbol 做精确点击时才值得打开,否则可能影响性能hiddenType 的场景遮挡不支持沿线文字raster用途:影像、地图瓦片、WMTS、TMS、百度瓦片、叠地形、区域裁剪、模板裁剪。
兼容数据:RasterTileSource
关键 layout:
visibility关键 paint:
raster-opacityraster-hue-rotateraster-brightness-minraster-brightness-maxraster-saturationraster-contrastraster-resamplingraster-fade-durationMineMap 特有层级参数:
depth-testindependentwireframemaskingEnabledmaskingPolygonHierarchy严格约束:
raster-fade-duration 暂不生效wireframe 只是渲染样式开关,不是分析能力入口heatmap用途:二维热力图和三维热力图。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
visibilitydisplay-mode:2d / 3d关键 paint:
heatmap-heightheatmap-radiusheatmap-weightheatmap-intensityheatmap-colorheatmap-opacityheatmap-height-factor严格约束:
heatmap-height-factor 仅在 display-mode = '3d' 时生效heatmap-color 是颜色阶梯表达式;源码会在修改后重建 color rampextrusion用途:白膜建筑、挤出面、顶侧分纹理、扫描和发光特效。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
visibility关键 paint:
extrusion-opacityextrusion-colorextrusion-patternextrusion-top-patternextrusion-heightextrusion-baseextrusion-pattern-factorextrusion-close-stencil-clipextrusion-self-bloomextrusion-bloom-heightextrusion-glow-pure-color-heightextrusion-glow-widthextrusion-glow-speedextrusion-offsetextrusion-rotationextrusion-scaleextrusion-translateextrusion-translate-anchorMineMap 特有层级参数:
radiation-regionsuseEnvMapmetallicroughnessshininesstopPatternCompatible严格约束:
extrusion-translate* 注释已标明废弃SceneModelsprite用途:粒子路况线、动态图案线、基于贴图或纯数据的运动线效果。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
sprite-capsprite-joinsprite-miter-limitsprite-round-limitsprite-sort-keyvisibility关键 paint:
sprite-opacitysprite-colorsprite-widthsprite-gap-widthsprite-offsetsprite-blursprite-speed-factorsprite-speedsprite-patternsprite-move-directionsprite-interpolatesprite-statussprite-instatussprite-height-offsetsprite-translatesprite-translate-anchor严格约束:
classificationType 的贴地形式sprite-move-direction 注释写为暂不生效tracking用途:OD 线、粒子流动轨迹线。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
tracking-captracking-jointracking-round-limittracking-sort-keytracking-display-mode:loop / reverse / loop-reserve / reverse-reservevisibility关键 paint:
tracking-opacitytracking-colortracking-widthtracking-gap-widthtracking-offsettracking-blurtracking-typetracking-run-timetracking-seg-counttracking-seg-grouptracking-speedtracking-delaytracking-speed-factortracking-translatetracking-translate-anchor严格结论:
PolylineGeometry + PolylineMaterial 的 OD 线能力symtracking用途:沿轨迹移动的图标跟踪,如车辆、小车、设备移动图标。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
symtracking-display-mode:default / time-sequence / timestampsymtracking-time-segmentsymtracking-fpssymtracking-sort-keysymtracking-z-ordercompatible-modesymbol-spacingicon-sizeicon-imageicon-offsettext-optionalvisibility关键 paint:
icon-opacityicon-coloricon-halo-coloricon-halo-widthicon-halo-blursymtracking-delay层级参数:
classificationType 只支持 FORCE_VECTOR_OVER_MODEL严格结论:
AnimationManagercompatible-mode: falsehistogram用途:柱状图层、分段颜色柱体、上下波动柱体。
兼容数据:GeoJSONSource、VectorTileSource
关键 layout:
histogram-max-height-renderhistogram-color-rendervisibility关键 paint:
histogram-opacityhistogram-colorhistogram-colorshistogram-heighthistogram-basehistogram-vertical-gradienthistogram-speedhistogram-max-heighthistogram-countdepth-changehistogram-translatehistogram-translate-anchor严格结论:
histogram-colors 需要 5 个颜色,注释写得很死,不要少给dynamicLine / dynamic-line用途:历史动态线效果。
当前状态:
dynamic_line_style_layer.js 类注释明确标记 @deprecated结论:
3d-model / 3d-tiles3d-model:
TDModelSource3d-model-opacity、visibility、classificationTypeSceneModel,功能更丰富,不推荐继续走此路径3d-tiles:
TDTilesSourcepoint-cloud-color、visibilitySceneTileset,功能更丰富,不推荐继续走此路径结论:
map.addSceneComponent()视觉参数变化时,优先:
setPaintProperty()setLayoutProperty()setFilter()不要反复:
removeLayer()addLayer()适合热更新的典型字段:
heatmap-colorline-colorline-widthfill-colorfill-patternextrusion-patternextrusion-top-patternraster-opacitysymbol 当普通点层symbol 不是“点 + 文本开关”,而是一整套碰撞、沿线放置、旋转对齐、锚点策略系统。
extrusion 代替 glTF 模型extrusion 只适合面拉伸;模型动画、实例化、裁剪、精确拾取等都不该强塞给它。
3d-model / 3d-tiles layer这两条路径在 4.22 已经明显处于兼容保留状态。
例如:
line-gradient 忘了 lineMetrics: truesource-layer 写在 GeoJSON source 上minzoom / maxzoomfiltersymbol、高程 symbol-pick-color、复杂碰撞要谨慎开demo/html/Circle.htmldemo/html/HeatMap.htmldemo/html/LayerWithSymbol.htmldemo/html/LineWithSymbols.htmldemo/html/ExtrusionExpressions.htmldemo/html/ExtrusionPattern.htmldemo/html/gradientLineLayer.htmlminemap-style-and-dataminemap-style-systemminemap-scene-componentsminemap-2d-3d-overlay-and-classification