LineLayer

WebGL默认绘制线的模式gl.LINES只能画一像素的线,无法指定线的宽度,该图层用来展示可指定宽度的线图层,继承自Layer
如果只需要绘制简单的一像素的线,可以使用SimpleLineLayer

该图层可使用鼠标拾取Pick

示例

动手试试

1
2
3
4
5
6
7
8
9
10
11
12
13
var layer = new mapvgl.LineLayer({
color: 'rgba(50, 50, 200, 1)',
blend: 'lighter',
data: [{
geometry: {
type: 'LineString',
coordinates: [
[116.394191, 39.91334],
[116.417259, 39.913672]
]
}
}]
});

options属性

常规属性

color

解释:颜色,同css颜色

类型:string

默认值:’rgba(25, 25, 250, 1)’

width

解释:线的宽度

类型:number

默认值:4

unit

解释:绘制大小的方式,即指定width和height属性的单位

类型:string

默认值:’px’

可选值

  • px,默认值,按像素绘制
  • m,按米来绘制

dashArray

解释:定义虚线间隔的数组,数组长度为2。数组的两位分别表示实线和虚线的长度,单位像素,如[10, 20]表示实线10px,虚线20px

类型:Array

dashOffset

解释:虚线偏移量,单位像素,可以通过实时改变该值来实现动画

类型:number

lineCap

解释:线的端头,可选butt 平头、square 方头、round 圆头

类型:string

默认值:’butt’

lineJoin

解释:线的连接拐角,可选miter 尖角、bevel 平角、round 圆角

类型:string

默认值:’miter’

miterLimit

解释:由于在尖角情况下角度特别小时,尖角特别长,故用该参数来控制尖角突出部分的最大长度

类型:string

默认值:2倍于线宽的长度

antialias

解释:抗锯齿,默认关闭为false

类型:boolean

offset

解释:沿法线方向的偏移,几乎很少使用到,设置该属性后只能用butt端头和miter连接,不然会出现问题

类型:number


动画属性

animation

解释:设置该参数来实现蝌蚪线动画,下面的属性生效依赖该值为true。注意,该属性只在初始化时读取一次,实例化后不可通过setOptions方法来重置。

类型:boolean

默认值:false

interval

解释:该参数指定每条线段的长度,值为粒子长度占数据中最长的线整体长度的比例

类型:float

默认值:0.1

duration

解释:动画的循环时间,单位为秒

类型:number

默认值:2

trailLength

解释:拖尾长度占间隔的比例

类型:float

默认值:0.5

minZoom

解释:地图视野大于等于一定级别时开启动画,默认值为3,即一直开启

类型:number

默认值:2

maxZoom

解释:地图视野小于等于一定级别时开启动画,默认值为21,即一直开启

类型:number

默认值:25


贴图属性

style

解释:设置该参数,可以在线上叠加一些图形来适用于一些场景。注意,该属性只在初始化时读取一次,实例化后不可通过setOptions方法来重置。

类型:string

可选值

  • road,叠加路况箭头,可用于道路场景的展示
  • arrow,叠加尖箭头图形,可用于OD场景的展示

styleOptions

解释:控制贴图的样式,对象具有colorwidth属性。

类型:object

data内容

数据格式内容

1
2
3
4
5
6
7
8
9
[{
geometry: {
type: 'LineString',
coordinates: [
[116.394191, 39.91334],
[116.417259, 39.913672]
]
}
}]