在d3.js中显示/隐藏图层

8

首先,我是d3.js的新手!

我有一张地图和一些在上面显示的点。现在我想添加按钮来显示/隐藏这些点。

目前为止,我做到了以下几点:

function checkAll(){
    d3.selectAll("g").attr("visibility", "visible");
}
function uncheckAll(){
    d3.selectAll("g").attr("visibility", "hidden");
}

目前这个方法可以正常工作,但是会隐藏/显示整个地图。

我有一个函数"drawpoints()"用于在地图上绘制点。如何修改代码,使其仅显示/隐藏点而不是整个地图?


取决于你的“点”是什么。如果它们是圆形,请尝试 d3.selectAll("circle")... - Lars Kotthoff
它们来自于一个GeoJSON文件,实际上只是坐标。 - user3346326
您能提供一个示例吗?比如在JSFiddle或类似的环境中演示一下。 - user1614080
1
你需要执行 d3.selectAll(".classOfCircles") - Lars Kotthoff
好的,我会把这个作为参考答案发布。 - Lars Kotthoff
显示剩余4条评论
1个回答

9

您需要仅选择要隐藏的元素。例如,如果它们由类标识,则应执行以下操作:

d3.selectAll(".classOfCircles").attr("visibility", "hidden");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接