Small Piece Sandbox

ドラッグ可能で無限スクロールできるSVG

マウス操作のドラッグによるパン(平行移動)と、マウスホイールによる拡大縮小ができます。
D3.jsd3.zoom()を使っています。

技術説明

  • 2次元データを、Map()で管理します。キーは、x座標、y座標を使った `${x},${y}`の文字列
  • データをD3.jsで扱うときには、Map形式から1次元配列へ変換します。
  • パン または 拡大縮小したタイミングで表示されている画面範囲から、作り出すべきデータを判定し、1マスごとに作っています。今回はただの四角形ですが、位置ごとに異なる情報を計算することも可能です。

詳細な技術説明は、Qiitaの記事をご覧ください。