我使用的資料地圖氣泡顯示,從去年略有更改爲年數據:datamaps.js - 如何平滑過渡泡沫尺寸?
http://jsbin.com/goqeve/edit?html,output
(點擊之間的‘1990年’和‘底部2000’按鈕)
當我用map.bubbles([...])
替換氣泡,默認動畫是讓新氣泡從中心生長出來,這樣可以避免大小的微小變化。我怎樣才能使氣泡在尺寸之間平滑過渡(即增長或縮小)而不是替換它們?
我使用的資料地圖氣泡顯示,從去年略有更改爲年數據:datamaps.js - 如何平滑過渡泡沫尺寸?
http://jsbin.com/goqeve/edit?html,output
(點擊之間的‘1990年’和‘底部2000’按鈕)
當我用map.bubbles([...])
替換氣泡,默認動畫是讓新氣泡從中心生長出來,這樣可以避免大小的微小變化。我怎樣才能使氣泡在尺寸之間平滑過渡(即增長或縮小)而不是替換它們?
看着數據地圖源,我注意到它在圓上做了一個過渡,但它使用了泡泡對象上的JSON.stringify
作爲選擇的關鍵。如果任何屬性發生變化,它將被視爲新數據,並將其初始半徑設置爲0.我添加了一個選項,僅使用lat/lng作爲密鑰,因此我不需要重寫轉換:https://github.com/markmarkoh/datamaps/pull/225
假設你的泡沫數據在名爲Nodes
的列表中。
從1990到2000(或反之亦然)過渡時,可以更新Nodes
中的數據半徑,然後通過調用map.bubbles(Nodes)
來重新繪製數據半徑。我嘗試了它,並順利過渡到新的半徑,而不是重新繪製它們。