Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在d3世界地图中为日本和朝鲜着色_Javascript_D3.js - Fatal编程技术网

Javascript 无法在d3世界地图中为日本和朝鲜着色

Javascript 无法在d3世界地图中为日本和朝鲜着色,javascript,d3.js,Javascript,D3.js,我用d3制作了一张世界地图,我试图用css中的id给某些国家上色。这对除日本和朝鲜以外的所有国家都有效。这是一本书 您的CSS代码使用国家名称来标识日本(“日本”)。JSON数据使用国家名称来识别一些小岛(日本),但使用岛屿名称来识别一些大岛(北海道、本州、九州等)。因此,这些大岛并没有被涂上颜色 您的CSS代码缺少朝鲜和韩国的标识符。JSON数据使用#Korea识别韩国,使用#DemRepKorea识别朝鲜。因此,朝鲜和韩国没有被涂上颜色。您的CSS代码使用国家名称来标识日本(#日本)。JSO

我用d3制作了一张世界地图,我试图用css中的id给某些国家上色。这对除日本和朝鲜以外的所有国家都有效。这是一本书


您的CSS代码使用国家名称来标识日本(“日本”)。JSON数据使用国家名称来识别一些小岛(日本),但使用岛屿名称来识别一些大岛(北海道、本州、九州等)。因此,这些大岛并没有被涂上颜色


您的CSS代码缺少朝鲜和韩国的标识符。JSON数据使用#Korea识别韩国,使用#DemRepKorea识别朝鲜。因此,朝鲜和韩国没有被涂上颜色。

您的CSS代码使用国家名称来标识日本(#日本)。JSON数据使用国家名称来识别一些小岛(日本),但使用岛屿名称来识别一些大岛(北海道、本州、九州等)。因此,这些大岛并没有被涂上颜色


您的CSS代码缺少朝鲜和韩国的标识符。JSON数据使用#Korea识别韩国,使用#DemRepKorea识别朝鲜。因此,朝鲜和韩国并没有被玷污。

谢谢你的帮助。谢谢你的帮助。
d3.json("world.json",function(error,world){

    if (error) return console.error(error);
    console.log(world)
    var subunits = topojson.feature(world, world.objects.subunits);


    var projection = d3.geo.mercator()
    .translate([width / 2, height / 2])
    .scale((width - 1) / 2 / Math.PI);

    var path = d3.geo.path()
    .projection(projection); 


    svg.selectAll(".subunits")
        .data(topojson.feature(world, world.objects.subunits).features)
        .enter().append("path")
        .attr("class", function(d) { console.log(d.id) ;return "subunit " + d.id; })
        .attr("id", function(d){ 
            var str=String(d.properties.name);
            if(str.replace(/[\s \.]/g, '').localeCompare("KoreanDMZ(north)")==0){
                console.log("it worked")
                return "Northkorea"
            }
            else
                return d.properties.name.replace(/[\s \.]/g, '');})
        .attr("d", path); 

    svg.append("path")
        .datum(topojson.mesh(world, world.objects.subunits, function(a, b) { return a !== b && !(a.id==="RUA"&&b.id==="RUE") }))
        .attr("d", path)
        .attr("class", "subunit-boundary");


});