Graphics RaphaelJs:如何向路径定义的区域添加一些文本?

Graphics RaphaelJs:如何向路径定义的区域添加一些文本?,graphics,svg,raphael,Graphics,Svg,Raphael,在Raphaël js的帮助下,我绘制了一幅美国的SVG图像: 我想做的是,当你将鼠标悬停在每个状态上时,在它的右边放置一些文本。问题在于,由于每个状态都是一条路径,因此很难确定放置标签的x&y坐标 那么,有人知道用拉斐尔计算路径中心的方法吗?如果在给定一系列向量的情况下,没有人知道如何做到这一点?每个坐标之间差异的平均值应该给出中心,但这可能不是最有效的方法每个坐标之间差异的平均值应该给出中心,但这可能不是最有效的方法,你要找的是最有效的方法。它将为您提供一个边界框对象,可用于计算路径的中心

在Raphaël js的帮助下,我绘制了一幅美国的SVG图像:

我想做的是,当你将鼠标悬停在每个状态上时,在它的右边放置一些文本。问题在于,由于每个状态都是一条路径,因此很难确定放置标签的x&y坐标


那么,有人知道用拉斐尔计算路径中心的方法吗?如果在给定一系列向量的情况下,没有人知道如何做到这一点?

每个坐标之间差异的平均值应该给出中心,但这可能不是最有效的方法

每个坐标之间差异的平均值应该给出中心,但这可能不是最有效的方法,你要找的是最有效的方法。它将为您提供一个边界框对象,可用于计算路径的中心点:

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

并使其在悬停状态的每个状态中间显示一个静态文本。从数据中提取州名称是一项练习。

您要查找的是州名称。它将为您提供一个边界框对象,可用于计算路径的中心点:

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

并使其在悬停状态的每个状态中间显示一个静态文本。从数据中提取州名称只是一个练习