# 轨迹图层(TrackLayer)
提示
本图层包含了4个子图层:起点图层,终点图层;轨迹线段图层;从起点到终点不断移动的动态点图层。
各个子图层的配置由 LogicLayerOptions 完成。
轨迹图层用于展示单个轨迹类型的数据。
new aimap.TrackLayer(layerOptions: Object)
# 初始化参数
# LayerOptions参数说明
| 字段名 | 类型 | 说明 |
|---|---|---|
| id | string | 默认值为${type}.${uuid},该值不允许重复。 |
| map | Map | 地图对象,如果设置,该图层会自动加载到地图中,如果未设置,需要手动加载图层:addTo(map)。 |
| zIndex | number | string | 图层在地图中所属的垂直方向的位置索引,默认为 0。 |
| minZoom | number | 能显示的最小的zoom level,默认 3。 |
| maxZoom | number | 能显示的最大的zoom level(但不包括这个Level),默认20。 |
| spatialReference | string | 图层数据的坐标系统,默认:gcj02。可选项分别为:- GPS坐标系— wgs84- 火星/高德坐标系— gcj02- 百度坐标系— bd09- 城建坐标系— cgcs2000。 |
| images | Array<Image> | 如果指定icon-image样式,需要在这里添加图片,具体参见:Image 配置。 |
layers必须 | Array<LogicLayerOptions> | 包括轨迹线,轨迹动态点,起点,终点的配置项。具体参见:layers。 |
| animation | AnimationOptions | 轨迹动态点的动画配置,包括以下的属性: - auytoplay:是否自动播放,类型:boolean,默认true。- repeat:是否重复播放,类型:boolean,默认false。- duration:每轮播放的时长,单位:秒,默认:2。 |
# layers
包含了 track,trackPoint,start,end等4个子图层。
# track
本图层为轨迹图层中的轨迹线,以下的几个属性需按照说明,其余的属性参考 LogicLayerOptions 配置。
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | string | 固定值:track。 |
| data | Data | 支持线类型的矢量数据,包括SimpleFeature,GeoJSON等,具体参见:矢量数据定义。 |
| style | Style | 本图层支持与线相关的样式配置,包括:线样式(Line)。 |
# trackPoint
本图层为轨迹图层中的轨迹动态点,以下的几个属性需按照说明,其余的属性参考 LogicLayerOptions 配置。
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | string | 固定值:trackPoint。 |
| data | Data | 无需指定。 |
| style | Style | 本图层支持与点相关的样式配置,包括:圆点样式(Circle)。 |
# start
本图层为轨迹图层中的起点,以下的几个属性需按照说明,其余的属性参考 LogicLayerOptions 配置。
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | string | 固定值:start。 |
| data | Data | 无需指定。 |
| style | Style | 本图层支持与点相关的样式配置,包括: - 圆点样式(Circle) - 文字样式(Text) - 图标样式(Icon) - 文本和图标通用样式(Symbol)。 |
# end
本图层为轨迹图层中的终点,以下的几个属性需按照说明,其余的属性参考 LogicLayerOptions 配置。
| 字段名 | 类型 | 说明 |
|---|---|---|
| name | string | 固定值:end。 |
| data | Data | 无需指定。 |
| style | Style | 本图层支持与点相关的样式配置,包括: - 圆点样式(Circle) - 文字样式(Text) - 图标样式(Icon) - 文本和图标通用样式(Symbol)。 |
# 示例
var trackLayer = new aimap.TrackLayer({
spatialReference: "bd09",
images: [{
id: 'company',
url: 'an-online-image-url-path-or-import-from-your-project/image.png',
type: 'png'
}],
layers: [{
name: "track",
data: {
coordinates: [
[121.73137, 31.11906], [121.73337, 31.11906], [121.73537, 31.11906],
[121.75337, 31.12106], [121.75537, 31.12306]
]
},
style: {
"line-color": "#ff0000",
"line-width": 2,
},
}, {
name: "trackPoint",
style: {
"circle-color": "#ff0000",
"circle-radius": 4,
"icon-image": "company",
"icon-size": 5,
},
}, {
name: "start",
data: {
name: "起点"
},
style: {
"circle-color": "#ffff00",
"circle-radius": 4,
'text-field': '{name}',
'text-size': 12,
'text-color': '#ff0000',
'text-anchor': 'right',
}
}, {
name: "end",
data: {
name: '终',
},
style: {
"circle-color": "#00ff00",
"circle-radius": 4,
'text-field': '{name}',
'text-size': 14,
'text-color': '#ff00ff',
'text-anchor': 'left',
}
}],
animation: {
repeat: true,
duration: 4,
autoplay: true
},
map
});
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# 实例变量
# id
此图层的 id,如果在初始化图层的参数中指定,则为参数中的 id,否则 SDK 内部会自动生成一个 id。
# 示例
var trackLayer = new aimap.TrackLayer({...});
console.log(trackLayer.id); // "track.9db79b01-f3c0-4da6-a36a-b4d5827c4e37"
2
# type
此图层的类型,对于本图层, type 为固定值:track。
# 示例
var trackLayer = new aimap.TrackLayer({...});
console.log(trackLayer.type); // "track"
2
# 实例方法
addTo(map)
如果在初始化图层时,没有传入地图对象参数,则需要使用此方法来将图层添加到地图上。
参数
map(Map):需要添加本图层的地图对象。
返回值
TrackLayer:this
remove()
将本图层从地图中移除,并销毁相关的资源。
返回值
TrackLayer:this
show()
显示该图层。
返回值
TrackLayer:this
hide()
隐藏该图层。
返回值
TrackLayer:this
play()
开始轨迹动态点的动画。
返回值
TrackLayer:this
pause()
暂停轨迹动态点的动画。
返回值
TrackLayer:this
setzIndex(zIndex, options?)
设置图层在 z 轴上的顺序。数值越大,层级越高。
参数
zIndex(number | String):大于 0 的整数或者表示地图初始化样式中自带的图层 id。
options(SetzIndexOptions):设置层级的更多参数,具体参见:SetzIndexOptions 配置。
返回值
TrackLayer:this
flyTo(options?)
使地图带有动画的跳转,使得图层的中心点位于屏幕中间。
参数
options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置。
返回值
TrackLayer:this
fitView(options?)
使地图带有动画的跳转,使得图层的数据铺满屏幕。
参数
options(SetFocusOptions):跳转动画的更多参数,具体参见:SetFocusOptions 配置。
返回值
TrackLayer:this
setStyle(style, options?)
增量更新图层的样式。
参数
style(style):样式对象,这些样式将增量更新到图层已有的样式上,支持的样式与当前图层一致。
options(SetStyleOptions):设置新样式的其他配置项,具体参见:SetStyleOptions 配置。
返回值
TrackLayer:this
setPopup(popup, options)
为图层设置弹窗对象。
参数
popup(Popup | string):Popup对象,或者弹窗中想要显示的内容文本。
options(Options):弹窗的配置项,具体参见:Popup 配置
返回值
TrackLayer:this
togglePopup()
切换弹窗的显示,隐藏效果。
返回值
TrackLayer:this
highlight(options?)
对图层进行高亮操作。
参数
options(SetHighlightOptions):高亮操作的配置项,包括指定高亮数据,高亮样式等,具体参见:SetHighlightOptions 配置
返回值
TrackLayer:this
clearHighlight(options?)
清除图层的高亮效果。
参数
options(ClearHighlightOptions):清除的配置项,包括指定清除的图层等,具体参见:ClearHighlightOptions 配置
返回值
TrackLayer:this
blink(options?)
对图层进行闪烁操作。
参数
options(SetBlinkOptions):闪烁操作的配置项,包括指定闪烁数据,闪烁样式等,具体参见:SetBlinkOptions 配置
返回值
TrackLayer:this
clearBlink(options?)
清除图层的闪烁效果。
参数
options(ClearBlinkOptions):清除的配置项,包括指定清除的图层等,具体参见:ClearBlinkOptions 配置
返回值
TrackLayer:this
on(type, listener)
为图层绑定事件监听。
参数
type(string):事件类型,支持的事件类型可参考 图层事件。
listener(Function):如果此处使用匿名函数,则后续将无法解绑。
返回值
TrackLayer:this
once(type, listener)
为图层绑定事件监听,事件只会响应一次。
参数
type(string):事件类型,支持的事件类型可参考 图层事件。
listener(Function):如果此处使用匿名函数,则后续将无法解绑。
返回值
TrackLayer:this
off(type, listener)
解除已绑定事件监听。
参数
type(string):事件类型,支持的事件类型可参考 图层事件。
listener(Function):通过 on 或者 once 绑定的事件对象。
返回值
TrackLayer:this
# 图层事件
play
当图层的动态点开始动画或者暂停时触发。
动态点开始动画时,回调事件的参数的 status 为 started。
动态点暂停时,回调事件的参数的 status 为 paused。
mousedown
当鼠标点击图层时触发。
mouseup
当鼠标在图层中松开时触发。
click
当鼠标在图层同一点处点击并松开时触发。
dblclick
当鼠标双击图层同一点时触发。
mousemove
当鼠标在图层中移动时触发。
mouseenter
当鼠标从某一图层外部或地图画布外部进入当前图层的可见部分时触发。
mouseleave
当鼠标离开当前图层的可见部分时触发。