css SVG上连接div和point的线[关闭]

qrjkbowd  于 2024-01-09  发布在  其他
关注(0)|答案(1)|浏览(144)

**已关闭。**此问题需要debugging details。目前不接受回答。

编辑问题以包括desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将帮助其他人回答问题。
8天前关闭。
Improve this question
我有SVGMap和一些信息卡。我试图实现连接卡和Map上的点的线。小例子:
https://codesandbox.io/p/sandbox/map-k5fgmr?file=%2Fsrc%2FMap.jsx%3A61%2C18
enter image description here
计算直线坐标的最好方法是什么,这样它就不会在缩放时断裂?
下面是我用来画线的代码。

<line
   x1={item.cardCoordinate.left + item.cardCoordinate.width / 2}
   y1={-item.cardCoordinate.height}
   x2={item.regionCoordinate.x + item.regionCoordinate.width / 2}
   y2={item.regionCoordinate.y + item.regionCoordinate.height / 2}
   stroke="red"
   strokeWidth="1px"
   opacity="1"
/>

字符串

qlvxas9a

qlvxas9a1#

若要绘制将信息卡连接到SVGMap上的点而不因缩放而中断的线,应使用矢量计算并确保SVG元素的缩放均匀。
以下是实现这一目标的一些步骤和建议:
1.使用SVG坐标确保在绘制线条时使用正确的SVG坐标。SVG使用原点(0,0)位于左上角的坐标系。
1.缩放缩放SVG或其中的任何元素时,请确保统一缩放。这可以确保用于绘制线条的坐标相对于SVG视口保持一致。
1.计算直线端点要动态计算直线端点,请考虑以下事项:
对于卡端点:
x1将是卡片的水平中心。y1通常是卡片的顶部(或底部,取决于您的设计)。对于Map点端点:
x2是区域或点的水平中心,y2是区域或点的垂直中心。4.处理缩放和变换如果您要对SVG或任何父SVG元素应用任何变换(如缩放或平移),则在计算线端点时需要考虑这些变换。

相关问题