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

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

提前致谢。

最佳答案

看一下标记,您可以看到将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 ", "");

关于javascript - 数据图-根据给定的x和y坐标检索国家/地区代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33501717/

10-13 07:10