D3js仅在geoJSON FeatureCollection中绘制一个特征

时间:2014-12-08 07:08:03

标签: javascript d3.js geojson

虽然对于D3j来说是个新手,但我已经完成了大部分工作。但是,尚未起作用的是显示基于geoJSON的城市内部边界地图(数据:http://ddj.haim.it/data/muenchen.geojson)。

这是我最近一直在尝试的事情:

var nWidth = 800, nHeight = 600,
    oMap = d3.select('body').append('svg').attr('width', nWidth).attr('height', nHeight),
    oProjection = d3.geo.mercator().center([ 11.591, 48.139 ]).scale(50000).translate([nWidth / 2, nHeight / 2]),
    oPath = d3.geo.path().projection(oProjection);
d3.json('data/muenchen.geojson', function(_mError, _oCollection) {
    oMap.append('g')
        .selectAll('path')
        .data(_oCollection.features)
        .enter()
        .append('path')
        .attr('class', 'entity')
        .attr('d', oPath);
});

我能得到什么?一张地图,其中只绘制了最后一个特征,另一个特征被绘制为一个巨大的矩形(好吧,在源代码中,它不是矩形,它是一条路径)。

非常感谢任何帮助。

非常感谢, 马里奥

1 个答案:

答案 0 :(得分:0)

不确定我是否明白你的观点,Lars。我可以看到geoJSON中的最后一个多边形,但是只能看到最后一个多边形。这是当前的输出:http://ddj.haim.it/d3.html

编辑:好的,我明白了。对不起,非常感谢你的回答。 关键是用透明度“填充”路径(在CSS中)。