用途:为 MapLibre GL JS 选择并配置地图数据源。MapLibre 本身不带地图数据,需要通过样式引用数据源,再交给 MapLibre 拉取并渲染。
主要能力与源类型:样式由 sources(数据指针)、layers(绘制规则)、glyphs 与 sprite(字体与图标)组成。源类型包括 vector(矢量瓦片,底图与数据叠加的首选)、raster(卫星影像、WMS/WMTS)、raster-dem(地形与山体阴影)、geojson(内联对象或 URL,无需瓦片服务器)、image(单张地理配准图片)和 video(地理配准视频)。
使用方式:小数据可直接内联或指向 GeoJSON 文件,用 map.addSource() 添加源、map.addLayer() 添加图层;需要在标签下叠加数据时,可把图层插入第一个 symbol 图层之前。需要瓦片时,可选 PMTiles 单文件无服务器方案(静态存储加 HTTP range 请求)、托管瓦片服务,或自托管瓦片服务器。常见做法是底图与自有数据分开成两个源。
适用场景与阈值:小于约 2 MB 或 5000 个要素的 GeoJSON 表现良好;5–20 MB 或约 5 万要素会有解析延迟;超过 50 MB 或 10 万要素建议改用矢量瓦片,可用 tippecanoe 或 Planetiler 生成。栅格瓦片适合卫星影像、WMS/WMTS 与预渲染样式;不要求客户端样式化或要素查询。
限制与注意:MapLibre 样式中的图层定义必须与瓦片源的 schema 匹配,常见 schema 有 OpenMapTiles、Shortbread、Protomaps。sprite 缺失会静默省略图标;glyphs 在 GL JS 5.11.0 及以上有本地字体回退,但生产样式仍应显式提供两者。自托管需自行处理 CORS,并配置 glyphs 与 sprite;全球 OSM 数据集约需 1 TB 存储与 24 GB 内存。不要在生产中使用 tile.openstreetmap.org,OSM 基金会禁止批量与高流量使用;基于 OSM 的瓦片需按要求署名。API 密钥应放入环境变量,不要提交到代码库。托管服务多数需密钥,应核对许可、用量限制与价格。其他格式与云原生地理空间生态暂未在本资料中展开。