数据映射 - 根据给定的x和y坐标检索国家/地区代码

时间:2015-11-03 14:34:48

标签: javascript d3.js datamaps

我正在制作世界地图的可视化,我应该可以根据给定的x和y像素坐标对从世界地图中检索国家/地区。

目前我正在使用数据地图(http://datamaps.github.io/)。但我无法找到基于给定的x或y像素坐标对检索某个国家/地区名称或ID的方法。有人可以指导我朝正确的方向发展吗?

提前致谢。

1 个答案:

答案 0 :(得分:1)

仔细查看标记,您可以看到3个字母的国家/地区代码已添加到每个多边形的CSS类中:

svg.getIntersectionList(hitrect, null);

所以你需要做的就是在你感兴趣的点找到多边形。这个答案Hit-testing SVG shapes?可能会帮助你实现这个目标。它建议如下:

document.elementFromPoint(x, y);

var code = d3.select(element).class().replace("datamaps-subunit ", "");

一旦你得到了它,提取类名是相对微不足道的:

@include flex-direction(row);