円をパスに沿ってドラッグできるようにする JSFiddle を作成しましたが、問題が発生しています。JSFiddle へのリンクは次のとおりです: http://jsfiddle.net/fHBpC/2/
私が抱えている問題は次のとおりです。
dragMove 内では、引数「d」は未定義です。
私のパスは (0,0) から (200, 200) に進み、(150, 150) で終わるはずですが、(0, 0) から始まり (200, 200) に行くだけです。
円を線に沿ってドラッグするだけにするにはどうすればよいですか?
対応コード:
1.
function dragMove(d) {
console.log("dragging a circle");
d.x += d3.event.dx;
d.y += d3.event.dy;
d3.select(this)
.attr('x', d.x)
.attr('y', d.y)
.attr("transform", "translate(" + d.x + "," + d.y + ")");
}
2.
var path = content.append("path").attr("d", "M 100 100 L 200 200 L 150 150").style("stroke-width", 5).style("stroke", "steelblue");