2011-10-05 27 views
1

我有我已經與拉斐爾JS的一點點幫助繪製美國的SVG圖像:RaphaelJs:如何添加一些文本到路徑定義的區域?

http://jsfiddle.net/zCRkg/2/

我想要做的是放置一些文本到每個國家的權利當你懸停在它上面。問題在於,由於每個狀態都是一個路徑,因此很難確定標籤放置位置的y座標。

那麼,有沒有人知道使用Raphaël計算路徑中心的方法?如果失敗,任何人都知道如何做一個載體的數組呢?

回答

3

什麼你要找的是getBBox function in Raphaël。它會給你一個邊框對象,你可以用它來計算路徑的中心點:

var bbox = st.getBBox(); 
var text = r.text(bbox.x + bbox.width/2, bbox.y + bbox.height/2, "Foo"); 

forked your fiddle,並使其顯示在懸停每個州中部的靜態文本。從數據中提取州名是作爲練習。

1

每個座標之間的差異應該給你中心的平均水平,但多數民衆贊成可能不是最有效的方式

相關問題