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);
  • };

批量转换

posted @ 2022-01-20 17:32  haibalai  阅读(290)  评论(0编辑  收藏  举报