mirror of https://gitee.com/antv-l7/antv-l7
81 lines
2.2 KiB
Markdown
81 lines
2.2 KiB
Markdown
|
---
|
|||
|
title: 路径图
|
|||
|
order: 0
|
|||
|
---
|
|||
|
<embed src="@/docs/common/style.md"></embed>
|
|||
|
|
|||
|
我们经常需要在地图上绘制诸如道路、行动路线、水系等常见的路径,可以将这些绘制线的统称为路径图,即用一组首尾不闭合的点坐标对来定位的线图层。
|
|||
|
|
|||
|
<div>
|
|||
|
<div style="width:60%;float:left; margin: 10px;">
|
|||
|
<img width="80%" alt="案例" src='https://gw.alipayobjects.com/mdn/rms_816329/afts/img/A*KEupSZ_p0pYAAAAAAAAAAAAAARQnAQ'>
|
|||
|
</div>
|
|||
|
</div>
|
|||
|
|
|||
|
### 实现
|
|||
|
|
|||
|
下面我们来介绍如何绘制一个常见的路径图。
|
|||
|
|
|||
|
- 你可以在 `L7` 官网上找到[在线案例](/examples/gallery/animate#animate_path_texture)
|
|||
|
|
|||
|
```javascript
|
|||
|
import { Scene, LineLayer } from '@antv/l7';
|
|||
|
import { GaodeMap } from '@antv/l7-maps';
|
|||
|
|
|||
|
const scene = new Scene({
|
|||
|
id: 'map',
|
|||
|
map: new GaodeMap({
|
|||
|
center: [ 120.15, 30.246 ],
|
|||
|
zoom: 13.5,
|
|||
|
style: 'dark',
|
|||
|
rotation: -90
|
|||
|
})
|
|||
|
});
|
|||
|
scene.addImage('arrow', 'https://gw.alipayobjects.com/zos/bmw-prod/ce83fc30-701f-415b-9750-4b146f4b3dd6.svg');
|
|||
|
fetch('https://gw.alipayobjects.com/os/basement_prod/40ef2173-df66-4154-a8c0-785e93a5f18e.json')
|
|||
|
.then(res => res.json())
|
|||
|
.then(data => {
|
|||
|
const layer = new LineLayer({})
|
|||
|
.source(data)
|
|||
|
.size(3)
|
|||
|
.shape('line')
|
|||
|
.texture('arrow')
|
|||
|
.color('rgb(22,119,255)')
|
|||
|
.animate({
|
|||
|
interval: 1, // 间隔
|
|||
|
duration: 1, // 持续时间,延时
|
|||
|
trailLength: 2 // 流线长度
|
|||
|
})
|
|||
|
.style({
|
|||
|
opacity: 0.6,
|
|||
|
lineTexture: true, // 开启线的贴图功能
|
|||
|
iconStep: 10, // 设置贴图纹理的间距
|
|||
|
borderWidth: 0.4, // 默认文 0,最大有效值为 0.5
|
|||
|
borderColor: '#fff' // 默认为 #ccc
|
|||
|
});
|
|||
|
scene.addLayer(layer);
|
|||
|
});
|
|||
|
```
|
|||
|
### shape
|
|||
|
|
|||
|
我们一般将路径图的 `shape` 参数设置成 `line`。
|
|||
|
|
|||
|
### size
|
|||
|
|
|||
|
对于路径图,我们一般只要设置常量表示路径的宽度即可。
|
|||
|
|
|||
|
```javascript
|
|||
|
layer.size(2); // 绘制宽度为 2 的路径
|
|||
|
```
|
|||
|
### style
|
|||
|
|
|||
|
<embed src="@/docs/api/line_layer/features/linear.zh.md"></embed>
|
|||
|
|
|||
|
<embed src="@/docs/api/line_layer/features/dash.zh.md"></embed>
|
|||
|
|
|||
|
<embed src="@/docs/api/line_layer/features/border.zh.md"></embed>
|
|||
|
|
|||
|
<embed src="@/docs/api/line_layer/features/texture.zh.md"></embed>
|
|||
|
|
|||
|
<embed src="@/docs/api/line_layer/features/animate.zh.md"></embed>
|