2012-07-21 38 views
1

我想在我正在開發的一個相當簡單的d3可視化中手動調整縮放級別。請參閱:http://jsfiddle.net/TXPcM/D3行爲變焦手動調整

縮放和平移後(使用Shift +單擊縮小)按下「默認縮放」按鈕,然後嘗試再次平移。你會注意到一個令人震驚的轉變,因爲它「重置」到按鈕按下之前的狀態。

該代碼是一個原型和相當長的嗦 - 但尋找applyZoom函數。這裏的意圖是重新應用縮放行爲,因此希望清除它可能使用的任何緩存值。似乎沒有工作。建議?

+0

請直接包含在你的問題,從的jsfiddle代碼。 – 2012-08-15 09:23:43

回答

1

做到這一點的方法是修改你的縮放對象,而不是僅僅修改(或在您的情況下重新創建縮放)。

因此,抓住你zoom對象,並做到以下幾點:

zoom.translate([x,y]) 
    .scale(scale);