arcgis js 4 使用d3.js 构建虚线动画 (线或者面
我们来用d3.js 来实现动画虚线 可以应用于polyline
首先数据结构定义
let options = {
renderer: {
type: "simple",
symbol: {
color: "#e97501",
width: "3",
dasharray: "10",
animation: "dash 20s linear infinite reverse"
}
},
data: [
{
geometry: [
[12610148.27932812, 2653758.051763372],
[13517124.081943521, 3656135.9369390993]
],
attributes: {
name: "深圳-上海",
}
},
{
geometry: [
[12958063.6570659, 4857420.273468611],
[12716675.521741385, 3593151.825632137]
],
attributes: {
name: "北京-武汉",
}
},
]
};
我们通过一些全局变量保存一些信息
this.graphics = new Array();
cssTool.createkeyframes();
对于动画类 我们使用css来构建cssTool
export const cssTool = {};
cssTool.createkeyframes = function () {
const runkeyframes =`@keyframes dash {
to {
stroke-dashoffset: 1000;
}
}`
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = runkeyframes;
document.getElementsByTagName('head')[0].appendChild(style);
};
cssTool.create = function (runkeyframes) {
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = runkeyframes;
document.getElementsByTagName('head')[0].appendChild(style);
};
批量转换
更多参考 https://xiaozhuanlan.com/topic/1367820945