从JSON文件中提取一系列国家/地区

时间:2015-03-13 14:02:08

标签: d3.js geojson

我正在使用这个很好的例子:Countries By Area

但是,我想修改此代码供我自己使用,并仅投影选定的国家/地区。

我已经设法将JSON文件读入数组,现在代码正在查看该数组,但如果符合条件,我认为没有任何方法可以呈现一个国家(或多个国家/地区)。

例如,如果我想简单地渲染ID为533的国家/地区,我认为没有任何方法可以附加条件。

任何人都可以了解我如何能够做到这一点。

我已经设法完成了我原来的问题,但我确信有一种更优雅的方式来实现它:

原始代码是:

  var svg = d3.select("#map").selectAll("svg")
      .data(topojson.feature(world, world.objects.countries).features)

我改为:

            var svg = chartDetails.plotArea.selectAll("svg")
            .data(
            function(d){
                a = topojson.feature(tempWorld, tempWorld.objects.countries).features
                var returnobject =[]
                $.each(a, function (i, v) { if (v.id == 826) { returnobject.push(v) } });
                return returnobject
            })
  • 826指的是英国。

1 个答案:

答案 0 :(得分:0)

如果你的数组看起来像这样:

var a = [];
a.push({id:1, name:'Argentina'});
a.push({id:2, name:'Bahamas'});

然后你可能需要迭代它以找到你想要的密钥(id)。 看看这些solutions