1

私が開発しているかなり単純なd3視覚化で、ズームレベルを手動で調整しようとしています。参照: http: //jsfiddle.net/TXPcM/

ズームとパンを行った後(Shiftキーを押しながらクリックしてズームアウト)、[デフォルトのズーム]ボタンを押してから、もう一度パンを試みます。ボタンを押す前の状態に「リセット」されると、耳障りなシフトに気付くでしょう。

コードは少しプロトタイプであり、かなり長い時間がかかりますが、applyZoom関数を探してください。ここでの目的は、ズーム動作を再適用して、使用している可能性のあるキャッシュされた値をクリアすることでした。動作しないようです。提案?

4

2 に答える 2

1

これを行う方法は、単に変更する(または、場合によってはズームを再作成する)のではなく、ズームオブジェクトを変更することです。

したがって、zoomオブジェクトを取得して、次のようにします。

zoom.translate([x,y])
    .scale(scale); 
于 2015-02-11T11:31:58.330 に答える
0

私はあなたのコードを見ませんでしたが、このd3 googleグループスレッドはあなたが探している答えを持っていると思います: https ://groups.google.com/d/topic/d3-js/-qUd_jcyGTw/discussion

于 2012-08-14T18:46:42.580 に答える