mapbox 地图样式规范
Mapbox 样式文件定义的是地图所呈现的视觉外观,包括:需要绘制哪些数据、绘制的顺序、以及绘制数据时如何进行符号化。样式文档是以 JSON对象中的属性字段进行组织的。
{
"version": 8, // 版本号(必填,且值必须为8)
"name": "自定义名称", // 可选,用于给style取名,方便阅读
"metadata": { // 元数据(可选,用于style附加一些任意属性,避免冲突)
"mapbox:name": "demo"
},
"center": [120,30], //中心点
"zoom": 8, // 默认缩放层级
"bearing": 0, // 默认方位角
"pitch": 0, // 默认倾斜角度
"sprite": "mapbox://sprites/mapbox/bright-v8", // 雪碧图(可选,用来指定获取雪碧图及元数据的URL,表示不受地图旋转缩放影响的图标等)
"glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pdf", //字形符号(可选,用来指定加载以PBF格式设置的有向距离场字形的URL模板)
"transition": { // 全局的过度动画属性(可选,用来作为所有过渡动画属性的默认值)
"duration": 300, // 过度的持续时间
"delay": 0 //延迟多久开始过渡
},
"light": { // 全局的光源(可选)
"anchor": "viewport", // 锚点,指定作用的目标(可选,可选值map、viewport,默认viewport)
"position": [1.15,210,30], // 位置(可选,默认值[1.15,210,30]
)
"color":"white", // 颜色(可选)
"intensity": 0.5 // 强度(可选,取值0~1)
},
"sources": {}, // 数据源
"layers": [], // 图层集合
}
每个数据源 source 都有一个type属性,用于指定具体的类型
- vector:矢量
- raster:栅格
- raster-dem:栅格化的数字高程模型
- geojson:GeoJson数据源
- image:图片
- video:视频
每个图层layer都有id(具有唯一性)和type属性。其中type属性指定了其具体的渲染类型
- fill:填充
- line:线
- circle:圆点
- symbol:符号
- background:背景
- raster:栅格
- heatmap:热力图
- hillshade:坡面阴影
- fill-extrusion:三维填充
- symbol:展示图标和文字
- background:(不依赖source)