图层规格

图层定义数据源中的数据内容在地图上的展现方式,每个图层都必须有唯一的 ID 标识,不能重复。

每个图层都必须要有指定一个数据源类型,图层类型范围如下:

图层规格

添加图层时要指定一个JSON对象,该对象的根级别结构如下:

{
    "id": "road-layer-1",
    "type": "line",
    "source": "RoadSource",
    "source-layer": "Road",
    "layout": {...},
    "paint": {...},
    "minzoom": 6,
    "maxzoom": 17.5,
    "filter": [...]
}

字段说明如下:

属性 说明
id 图层ID;必填,值唯一,不能重复
type 图层渲染类型,必填
source 所使用的数据源 ID,也可以一个符号要求的数据源规则对象,当图层类型不为 background 时,该值必填
source-layer 所使用的 vector 数据源中的图层标识,当数据源类型为 vector 时,该值为必填项,其他类型不能有该属性
layout 布局属性
paint 绘制属性
minzoom 图层可展示的最小缩放等级值,不设置该参数则地图允许的最小缩放等级内都可显示
maxzoom 图层可展示的最大缩放等级值,不设置该参数则地图允许的最大缩放等级内都可显示
filter 所使用数据源的 features 数据的过滤条件,当数据源 features 数据信息和 filter 条件匹配时图层才显示

图层样式操作

map中提供一组方法用来指定或设置图层样式。

获取图层布局的一个具体的样式值:

map.getLayoutProperty('my-layer-id', 'visibility')

设置图层布局的一个具体的样式值:

map.setLayoutProperty('my-layer-id', 'visibility', 'none')

获取图层绘制的一个具体的样式值:

map.getPaintProperty('my-layer-id', 'fill-color')

设置图层绘制的一个具体的样式值:

map.setPaintProperty('my-layer-id', 'fill-color', '#faafee')

设置图层的缩放区间:

map.setLayerZoomRange('my-layer-id', 6, 12)

获取图层的过滤器:

map.getFilter('my-layer-id')

设置图层的过滤器:

map.setFilter('my-layer-id', ['==', 'name', 'myname'])

results matching ""

    No results matching ""