数据映射获取国家/地区代码列表

Sea*_*lus 10 javascript d3.js datamaps

如何获取d3.js数据映射支持的所有国家/地区的列表?

按照datamaps演示页面中的示例,我将此配置用于我的地图:

var basic = new Datamap({
  element: document.getElementById("basic")
  fills: {
    defaultFill: "#ABDDA4",
    authorHasTraveledTo: "#fa0fa0"
  },
  data: {
    USA: { fillKey: "authorHasTraveledTo" },
    JPN: { fillKey: "authorHasTraveledTo" },
    ITA: { fillKey: "authorHasTraveledTo" },
    CRI: { fillKey: "authorHasTraveledTo" },
    KOR: { fillKey: "authorHasTraveledTo" },
    DEU: { fillKey: "authorHasTraveledTo" },
  }
});
Run Code Online (Sandbox Code Playgroud)

如何获取数据图中包含的所有国家/地区的列表(除了"USA","JPN","ITA"等)?

Sea*_*lus 9

得到它了!

var countries = Datamap.prototype.worldTopo.objects.world.geometries;
for (var i = 0, j = countries.length; i < j; i++) {
  console.log(countries[i].properties);
}

// > Object {name: "South Africa"}
// > Object {name: "Zambia"}
// > Object {name: "Zimbabwe"} 
Run Code Online (Sandbox Code Playgroud)

  • 如果您执行如下控制台:`console.log(countries [i] .id,countries [i] .properties.name)`,您应该看到3个字母的代码以及名称. (4认同)