1

我正在对世界地图进行可视化,我应该能够根据给定的 x 和 y 像素坐标从世界地图中检索一个国家/地区。

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

提前致谢。

4

1 回答 1

1

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

class="datamaps-subunit JPN"

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

svg.getIntersectionList(hitrect, null);

或者

document.elementFromPoint(x, y);

一旦你得到了它,提取类名就相对简单了:

var code = d3.select(element).class().replace("datamaps-subunit ", "");
于 2015-11-03T14:40:45.160 回答