线图层
线(line)图层通常用来显示线数据或面数据的边界,详见示例。
线图层支持 vector 和 geojson 两种类型的数据源,所需的数据内容为线几何;如下例所示:
let data = {
type: "geojson",
data: {
'type': 'FeatureCollection',
'features': [
{
type: 'Feature',
'geometry': {
'type': 'LineString',
'coordinates': [[116.162224, 39.939751], [116.128235, 39.898411], [116.163597, 39.862317]]
}
}
]
}
};
map.addLayer({
id: 'layer1',
source: data,
type: 'line',
paint: {
'line-color': 'red',
'line-width': 10
}
});
1、id
id 表示该图层的唯一标识,值为字符串;
2、type
type 表示该图层的类别,line 图层 type 属性的值为"line";
3、source
source 表示该图层所使用的数据源的唯一标识 ID,也可以是一个符号要求的数据源规格说明。
4、source-layer
source-layer 为 vector 类型数据源中所使用的图层数据的唯一标识;如果使用的数据源类型为 geojson,该参数不需要设置;
5、layout
line 图层的 layout 中包含的属性有:
(1) “visibility”:表示图层是否显示;值为"visible"表示该图层显示,为"none"表示图层不显示;默认值为"visible";
(2) “line-cap”:表示线末端的样式,值域[“butt”、“round”、“square”],分别表示方角、圆角、线宽一半长的方角;默认值为"butt";
(3) “line-join”:表示线相交处的样连接式,值域[“bevel”、“round”、“miter”],分别表示连接处为以线宽一半为长度的方角、连接处为以线宽一半为半径的圆角、连接处以尖锐角形式连接;默认值为"miter";
(4) “line-miter-limit”:表示线斜切限制,数值类型,当"line-join"为"miter"时可以进行配置,"line-join"为其它值是不需要设置该参数;默认值为 2;
(5) “line-round-limit”:表示线圆角限制,数值类型,当"line-join"为"round"时可以进行配置,"line-join"为其它值是不需要设置该参数;默认值为 1.05;
6、paint
line 图层的 paint 中包含的属性有:
(1) “line-color”:表示线的填充颜色,值可以是 rgb 值,也可以是十六进制颜色值;支持函数对象语句;
(2) “line-opacity”:表示线颜色的不透明度,与’line-color’搭配使用,值域为[0,1],默认值为 1;支持函数对象语句;
(3) “line-translate”:表示线的几何偏移,值为数组[x,y],x 若为正值,表示向右,负值表示向左,y 若为正值,表示向下,负值表示向上;
(4) “line-translate-anchor”:表示线的偏移锚点,需要与 line-translate’值存在,否则无效,值域为[“map”,“viewport”],默认值为"map";
(5) “line-width”:表示线宽度,值必须大于等于 0,默认值为 1;支持函数对象语句;
(6) “line-gap-width”:表示线的内部间隙宽度,值必须大于等于 0,默认值为 0;支持函数对象语句;
(7) “line-offset”:表示线位置的偏移,正值表示相对于线方向向右偏移,负值表示向左偏移,默认值为 0;支持函数对象语句;
(8) “line-blur”:表示线的模糊,值必须大于等于 0,默认值为 0;支持函数对象语句;
(9) “line-dasharray”:用于虚线设置,值为数据[x1,x2,…],x1、x2 表示虚线段宽度值;
(10) “line-pattern”:表示线填充的纹理,值为图标标识名称,图标的长、宽值必须为 2 的倍数;
7、minzoom
图层可展示的最小缩放等级值,选填项。
8、maxzoom
图层可展示的最大缩放等级值,选填项。
9、filter
所使用数据源的 features 数据的过滤条件,选填项。