用途:把瓦片或数据源正确接入 MapLibre GL JS 样式,并诊断那些不报错却渲染异常的故障。
主要能力:区分用 url 指向 TileJSON 端点还是手写 tiles 模板;匹配 source-layer 与瓦片 schema(OpenMapTiles、Shortbread、Protomaps);处理图层绘制顺序,避免数据覆盖标注;配置 glyphs 与 sprite;排查栅格 tileSize 与 raster-dem 命名陷阱;用 promoteId 让 setFeatureState 生效;处理跨域 CORS。
用法要点:有 TileJSON 端点时优先用 url,MapLibre 会自动读取瓦片模板、缩放范围、边界与 source-layer;无端点时用 tiles 数组并自行补 minzoom、maxzoom、attribution,否则默认 maxzoom 22 会请求空瓦片。矢量源的每个样式图层必须写 source-layer 且与 schema 完全一致,拼错不报错也不绘制。addLayer 不传第二个参数会置顶并遮住标注,应传入第一个 symbol 图层的 id。经典 256px 瓦片需显式写 tileSize: 256,默认 512 会导致缩放层级偏差。feature-state 依赖要素 id,标识在 properties 中时用 promoteId,不要用 generateId 或手写 id。跨域资源需服务端返回 Access-Control-Allow-Origin,PMTiles 还需允许 Range 头。
适用场景:自定义样式对可用瓦片源渲染空白、底图模糊或比例不符、图标缺失、悬停高亮无效、不确定端点该用哪种 source 类型时。
限制:字体字形、自托管 glyph PBF、配色与制图决策、GeoJSON 与矢量瓦片选型分别属于其他技能;资料未提供具体版本兼容细节与完整代码示例。