2012-10-29 5 views
7

ズーム動作でスケールを手動で設定したら、どのようにズームイベントをトリガーできますか?スケール(d3、zoom.behavior)を設定した後、どのように 'zoom'イベントを送出できますか

var zoom = d3.behavior.zoom() 
    .scaleExtent([0.5, 4]) 
    .on('zoom', onzoom); 

// later on 
zoom.scale(2); 

https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-scale

+0

[プログラムによるパン+ズームの例](http://bl.ocks.org/3892928)をご覧になりましたか? – mbostock

答えて

20

まず、あなたはSVGオブジェクトにズーム動作を添付する必要があります。また、ズームオブジェクトでズーム機能を呼び出すこともできます。

var zoom = d3.behavior.zoom() 
    .scaleExtent([0.5, 4]) 
    .on('zoom', onzoom); 

//svgElement is an actual element such as a rect or text or group 
svgElement.call(zoom); 

// later on 
zoom.scale(2); 
zoom.event(svgElement); 
+0

最後の行は 'zoom.event(svgElement)'でなければなりません。ありがとう! – johndodo

関連する問題