Javascript 如何限制d3.js中svg某些元素的缩放
我使用D3.js创建了SVG,并添加了3个点。这些点包含文本和图像 以及连接这些点的线Javascript 如何限制d3.js中svg某些元素的缩放,javascript,d3.js,svg,Javascript,D3.js,Svg,我使用D3.js创建了SVG,并添加了3个点。这些点包含文本和图像 以及连接这些点的线 g.insert("g"); var text = g2.selectAll("text") .data(formattedTopoData.features); var mark = g2.selectAll("image") .data(formattedTopoData.features); var l
g.insert("g");
var text = g2.selectAll("text")
.data(formattedTopoData.features);
var mark = g2.selectAll("image")
.data(formattedTopoData.features);
var link = g.selectAll(".line_DEFAULT")
.data(formattedTopoData.links);
我已经像这样附加了缩放回调
var zoom = d3.behavior.zoom()
.translate([0, 0])
.scale(1)
.scaleExtent([1, 8])
.on("zoom", function(){
//svg.selectAll("path")
g.style("stroke-width", 1.5 / d3.event.scale + "px");
//svg.selectAll("path").
g.attr("transform", "translate(" + d3.event.translate + ")scale(" + d3.event.scale + ")");};
现在,当我缩放3个对象(线、文本、图像)时,它们将被缩放
我想限制图像和文本的缩放
请帮忙。
图像看起来像这样
我创建了plunker:
这里我想用文字缩放地图。但我不希望缩放时文本看起来很大缩放投影,而不是中的SVG。如果缩放投影,则点/节点不移动,但地图正在移动/缩放。您可以在此处看到示例“我希望测试(添加文本)”与“地图但测试”(添加文本)一起缩放不应该缩放也必须重置使用投影的所有对象的位置