D3.js 如何通过id从topjson文件中隔离特定状态?

D3.js 如何通过id从topjson文件中隔离特定状态?,d3.js,topojson,D3.js,Topojson,我正在使用D3创建美国地图,并将其与国会选区重叠。我使用了Mike Bostock的大部分代码来开始。我现在试图让用户在选择时只显示一个状态。我试过他的变焦例子,但效果不好。我正在使用Mike的us.json文件(在我删除了不需要的县数据之后)。我如何使用D3只解析某个状态的文件。我看到每个州都有一个与之关联的id。例如 {“类型”:“拓扑”,“对象”:{“状态”:{“类型”:“几何体集合”,“几何体”:[{“类型”:“多多边形”,“id”:2,“圆弧”:[[[9426]],[[9427]],

我正在使用D3创建美国地图,并将其与国会选区重叠。我使用了Mike Bostock的大部分代码来开始。我现在试图让用户在选择时只显示一个状态。我试过他的变焦例子,但效果不好。我正在使用Mike的us.json文件(在我删除了不需要的县数据之后)。我如何使用D3只解析某个状态的文件。我看到每个州都有一个与之关联的id。例如

{“类型”:“拓扑”,“对象”:{“状态”:{“类型”:“几何体集合”,“几何体”:[{“类型”:“多多边形”,“id”:2,“圆弧”:[[[9426]],[[9427]],

我假设id是状态fips代码

下面是我使用D3的datum函数编写的代码片段。您可以看到,我正在成功地提取状态id:

console.log(us.objects.states.geometries[0].id);
svg.append("defs").append("path")
     .attr("id", "land")
     .datum(topojson.feature(us, us.objects.land))
     .attr("d", path);

在将数据传递到
.datum()
之前,您必须过滤除感兴趣的状态之外的所有内容。对,这就是我不知道如何做的!您能提供一些示例代码吗?嗯,类似于
us.objects.states.filter(函数(d){return d.geometrics[0].id==stateID;})