数据地图-根据给定的x和y坐标检索国家代码

Datamap - retrieve country code based on given x and y coordinates

本文关键字:坐标 检索 代码 国家 -根 地图 数据      更新时间:2023-09-26

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

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

提前谢谢。

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

class="datamaps-subunit JPN"

所以你需要做的是在你感兴趣的点上找到多边形。这个答案符合测试SVG形状吗?可能会帮助你实现这一点。它建议如下:

svg.getIntersectionList(hitrect, null);

document.elementFromPoint(x, y);

一旦你有了这个,提取类名就相对简单了:

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