我正在使用这个很好的例子: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
})
答案 0 :(得分:0)
如果你的数组看起来像这样:
var a = [];
a.push({id:1, name:'Argentina'});
a.push({id:2, name:'Bahamas'});
然后你可能需要迭代它以找到你想要的密钥(id)。 看看这些solutions: