D3 Choropleth Map

时间:2017-09-13 10:55:40

标签: javascript d3.js choropleth

我正在构建一个D3美国等值区域地图,我需要从asmx webservice绑定地图数据(输出为Json)。

        d3.queue()
        .defer(d3.json, "https://d3js.org/us-10m.v1.json")
        .(d3.json,'Geodata.asmx/GetGeodtls',
                function (error, jsondata) {
                  (unemployment.set((jsondata.map(function (d) { return d.ZIP_CODE })), +jsondata.map(function (d) { return d.TRV })));                       


                })
        .await(ready);

        function ready(error, us) {
            if (error) throw error;

            svg.append("g")
                .attr("class", "counties")
              .selectAll("path")
              .data(topojson.feature(us, us.objects.counties).features)
              .enter().append("path")
                .attr("fill", function (d) { alert(d.TRV); return color(d.TRV = unemployment.get(d.ZIP_CODE)); })
                .attr("d", path)
              .append("title")
                .text(function (d) { return d.TRV + "%"; });

            svg.append("path")
                .datum(topojson.mesh(us, us.objects.states, function (a, b) { return a !== b; }))
                .attr("class", "states")
                .attr("d", path);
        }

如何继续,任何想法?

然后我做了类似下面的事情

         d3.queue()
        .defer(d3.json, "https://d3js.org/us-10m.v1.json")
        .defer(d3.json, 'Geodata.asmx/GetGeodtls')
        .await(ready);

        function ready(error, us,un) {
            if (error) throw error;

            un.forEach(function (d) {
                //alert("foreach" +d.ZIP_CODE);
                unemployment.set(d.ZIP_CODE, +d.TRV);

            });

            svg.append("g")
                .attr("class", "counties")
              .selectAll("path")
              .data(topojson.feature(us, us.objects.counties).features)
              .enter().append("path")
                .attr("fill", function (d) { return color(d.TRV = unemployment.get(d.ZIP_CODE)) ? color(d.TRV = unemployment.set(d.ZIP_CODE)) :"darkgreen"  })
                .attr("d", path)
              .append("title")
                .text(function (d) { return d.TRV + "%"; });

            svg.append("path")
                .datum(topojson.mesh(us, us.objects.states, function (a, b) { return a !== b; }))
                .attr("class", "states")
                .attr("d", path);

我在这个unemployemnt.set(d.ZIP_CODE,+ d.TRV)中什么都没得到,我只想在地图中使用ZIP_CODE和TRV作为我的数据集。

0 个答案:

没有答案