如何获得SVG子元素的位置相对于SVG在页面上的位置,D3.js
How to get SVG child element position relative to SVG position on page, D3.js?
我在SVG地图上有一个圆针。其中SVG位于div"location-map"中,溢出:隐藏。SVG的尺寸大于div的尺寸
<div class="location-map">
<svg></svg>
</div>
svg.selectAll(".pin")
.data(places)
.enter().append("circle", ".pin")
.attr("r", 5)
.attr("fill", "#fff")
.attr("transform", function(d) {
return "translate(" + projection([
d.location.longitude,
d.location.latitude
]) + ")";
});
我想获得SVG上的圆针位置,这样我就可以在div中重新定位SVG,使圆针水平和垂直地显示在div的中心。
我如何得到圆销的x, y位置?
SVGCircle具有cx
和cy
属性,分别代表centerX和centry。
d3的.attr()
方法也允许得到这些。
var circle = d3.selectAll(".pin");
var x = circle.attr('cx');
var y = circle.attr('cy');
snippet.log('x: '+x);
snippet.log('y: '+y)
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<div class="location-map">
<svg>
<circle class="pin" cx="50" cy="50" r="25"/>
</svg>
</div>
相关文章:
- 保持光标位置元素在顶部使用 svg
- 如何获取SVG动画的当前时间/位置
- 将svg元素放置在另一个元素顶部的较高位置
- Javascript:在 svg 中查找位置
- 如何移动 SVG 在 D3 中的位置
- 微调可拖动 SVG 形状的位置,而无需更改 X
- 缩放到 SVG 文档中的光标位置
- 如何查找 SVG 文本位置
- 如何使 svg 和鼠标光标位置正确
- 如何在 SVG 对象上移动时接收当前鼠标位置
- 在 SVG 动画中围绕舞台原点以外的其他位置旋转路径
- 从 SVG 加载的结构 JS 形状的位置不正确
- 自动缩放的 SVG 中的鼠标位置
- 直线的第一个坐标 (x0,y0) 不会影响 SVG 中的起始位置
- 捕捉.svg拖动“真实”位置
- 如何在多个位置绘制svg,在另一个svg图像的顶部
- SVG:获取元素相对于页面的位置
- 获取SVG元素的绝对位置
- svg对象在网络视图中的位置
- Snap.svg沿着一条路径拖动一个组并保存位置