# 道路粒子流图层(RoadParticleLayer)
道路粒子流图层可以用于将线状的数据,以粒子流动的形式呈现出来。本图层支持使用 Geojson 作为数据源,例如路径规划的结果;或者使用矢量瓦片作为数据源,例如底图的路网数据。
new aimap.RoadParticleLayer(layerOptions: Object)
1
# 初始化参数
# LayerOptions参数说明
字段名 | 类型 | 说明 |
---|---|---|
id | string | 默认值为${type}.${uuid} ,该值不允许重复。 |
map | Map | 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map) 。 |
data必须 | Data | 支持线类型的矢量数据,包括SimpleFeature ,GeoJSON 等,具体参见:矢量数据定义。或者包含线数据的矢量瓦片服务。当前只支持通过图源平台生成的瓦片服务 |
dataLayer | Array<string> | 当data 指定为矢量瓦片服务时,需要通过本参数以数组的形式指定对应的图层名称。 |
dataType | string | 默认为geojson ,当data 指定为矢量瓦片服务时,本参数需要指定为vector 。 |
dataOptions | DataOptions | 当data 指定为矢量瓦片服务时,可以通过本参数指定数据源的级别范围。具体参见:DataOptions 配置。 |
style必须 | ParticleStyle | 本图层支持样式参考下方说明。 |
# ParticleStyle
字段名 | 类型 | 说明 |
---|---|---|
getColor | [r,g,b] | Array<[r,g,b]> | 可以是[r, g, b] 形式的颜色值,当图层配置中的 data 为矢量瓦片服务时,这个参数可以是一个颜色数组,数组中的每个值与dataLayer 中的图层一一对应。 |
jointRounded | boolean | 粒子折线在转折的地方,是否以圆角的形式绘制,默认值:true 。 |
widthUnits | string | 宽度单位,可选pixels ,meters 。默认值:pixels 。 |
widthScale | number | 粒子的宽度,默认值:1 。 |
fadeTrail | boolean | 粒子的尾巴是否以渐变的形式消失掉。 |
opacity | number | 图层整体的透明度,默认值:1 。 |
trailLength | number | 每个粒子的尾巴需要多久才会消失掉,值越大,尾巴越长。只有在fadeTrail 指定为true 时生效。单位:ms ,默认值:10000 。 |
# 示例
使用 GeoJSON 作为数据源时:
tripLayer = new aimap.RoadParticleLayer({
map,
style: {
getColor: [255, 0, 0],
opacity: 0.8,
widthScale: 2,
jointRounded: true,
fadeTrail: true,
trailLength: 3000,
},
data: "http://127.0.0.1:5500/debug/data/roadTrips3.geojson",
});
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
使用矢量瓦片作为数据源时:
tripLayer = new aimap.RoadParticleLayer({
map,
style: {
getColor: [
[247, 247, 10],
[249, 201, 11],
[250, 155, 13],
[252, 109, 14],
[253, 63, 16],
[255, 17, 17]
],
opacity: 0.8,
widthScale: 2,
jointRounded: true,
fadeTrail: true,
trailLength: 3000,
},
data: "path-to-an-online-road-tiles-server/shanghai_road/tiles/{z}/{x}/{y}",
dataLayer: ["expressway", "motorway", "national", "provincial", "primary", "secondary"],
dataType: "vector",
dataOptions: {
"minzoom": 8,
"maxzoom": 16
}
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
线上示例:可视化-线,轨迹可视化 -- 道路粒子流 (opens new window)。
# 实例变量
# id
此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。
# 示例
var roadParticleLayer = new aimap.RoadParticleLayer({...});
console.log(roadParticleLayer.id); // "roadparticles.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
1
2
2
# type
此图层的类型,对于本图层, type
为固定值:roadparticles
。
# 示例
var roadParticleLayer = new aimap.RoadParticleLayer({...});
console.log(roadParticleLayer.type); // "roadparticles"
1
2
2
# 实例方法
addTo(map)
如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。
参数
map(Map)
:需要添加本图层的地图对象。
返回值
RoadParticleLayer
:this
remove()
将本图层从地图中移除,并销毁相关的资源。
show()
显示该图层。
返回值
RoadParticleLayer
:this
hide()
隐藏该图层。
返回值
RoadParticleLayer
:this