我有我已經與拉斐爾JS的一點點幫助繪製美國的SVG圖像:RaphaelJs:如何添加一些文本到路徑定義的區域?
我想要做的是放置一些文本到每個國家的權利當你懸停在它上面。問題在於,由於每個狀態都是一個路徑,因此很難確定標籤放置位置的y座標。
那麼,有沒有人知道使用Raphaël計算路徑中心的方法?如果失敗,任何人都知道如何做一個載體的數組呢?
我有我已經與拉斐爾JS的一點點幫助繪製美國的SVG圖像:RaphaelJs:如何添加一些文本到路徑定義的區域?
我想要做的是放置一些文本到每個國家的權利當你懸停在它上面。問題在於,由於每個狀態都是一個路徑,因此很難確定標籤放置位置的y座標。
那麼,有沒有人知道使用Raphaël計算路徑中心的方法?如果失敗,任何人都知道如何做一個載體的數組呢?
什麼你要找的是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,並使其顯示在懸停每個州中部的靜態文本。從數據中提取州名是作爲練習。
每個座標之間的差異應該給你中心的平均水平,但多數民衆贊成可能不是最有效的方式