arcgis 4 构建插值线性动画 (一)
之前有篇文章https://xiaozhuanlan.com/topic/2978031564是利用线的坐标做requestAnimationFrame来做动画, 如果是两点一线的话就显示不出动画的场景了,因为之前做法是根据线的点来做,我们这次使用线先做插值 把线打断, 具体类涉及仿照openlayer 一个思路。
首先准备 esri的类
esriClass 封装 参考https://xiaozhuanlan.com/topic/2074863519
const [Graphic, GraphicsLayer, Polyline] = await esriClass.load([esriClassName.Graphic, esriClassName.GraphicsLayer, esriClassName.Polyline]);
我们先构建线的时间处理工具类
```javascript
export default class realTimeTrance {
constructor(options) {
this.options = {
view: null,
lineSymbol: null,
layerName: 'gralyer'
};
this.initialize(options);
}
initialize(options) {
this.setOptions(this, options);
this._map = this.options.view.map;
this._createLayer();
this._LinePoints = [];
}
setOptions(obj, options) {
for (const i in options) {
obj.options[i] = options[i];
}
return obj.options;
}
//设定线样式
setLineSymbol(symbol) {
this.options.lineSymbol = symbol;
}
//创建图层
_createLayer() {
更多参考 https://xiaozhuanlan.com/topic/0382917645