d3.js投影比例不会增加国家的规模

时间:2017-08-21 17:01:20

标签: javascript d3.js geojson

我第一次尝试用d3.js和GeoJSON构建一些东西。我设法让一个国家 - 爱沙尼亚被展示,但它是如此之小,你几乎看不到它。我尝试使用投影geoMercator()。scale但它不起作用 - 没有增加大小。

请看下面附图(条形图下):

enter image description here

这是我的 js

 var projection = d3.geoMercator()
            .translate([w/2, h/2])
            .scale([100]);

        var path = d3.geoPath()
            .projection(projection)



        var w3 = 2000;
        var h3 = 1500;

        var svg = d3.select("body")
            .append("svg")
            .attr("width", w3)
            .attr("height", h3)


        d3.json("estonia.json", function (json){
            svg.selectAll("path")
                .data(json.features)
                .enter()
                .append("path")
                .attr("d", path)
                .style("fill", "#2294AA");
        })

我做错了什么?

1 个答案:

答案 0 :(得分:1)

我拿了你的密码,看到当我增加规模时,爱沙尼亚消失了。必须像这样将投影集中在一起:

   var projection = d3.geoMercator()
     .center([24.312863, 57.793424])
     .scale([500])
     .translate([w/2, h/2])

我从.json文件中获取坐标 [24.312863,57.793424]