JavaScript:从经度和纬度获取国家/地区名称

时间:2017-05-30 16:00:27

标签: javascript d3.js

如何使用Java Script从经度和纬度获取国家/地区名称?我可以使用任何工具或库吗?

我有一个包含推文坐标的CSV文件。我想根据推文起始点的坐标获取国家/地区名称。我正在使用JavaScript和d3.js.

3 个答案:

答案 0 :(得分:1)

您可以从中获取数据 Lat Long of Countries - Google

并加载到电子表格并编写一个简单的代码,将其加载到数组中并使用相同的内容。

答案 1 :(得分:0)

请参阅Google Maps API:您可以{/ 3}}输入一个纬度/经度并找回您可以解析的地址对象以查找国家/地区。

答案 2 :(得分:-1)

扩展 Sriram Nadiminti's 答案,您可以在控制台中的 Google Countries CSV 处使用以下脚本从页面中获取所有数据作为数组数组(它将自动复制到剪贴板):< /p>

let arr = Array.from(document.querySelectorAll('tr')).map(x => Array.from(x.cells).map(y => y.outerText))
copy(arr)

或者,您可以使用以下脚本将它们作为 CSV 字符串获取。

let text = Array.from(document.querySelectorAll('tr')).map(x => Array.from(x.cells).map(y => y.outerText).join(',')).join('\n')
copy(text)

如果您不想要标题行,请使用:

 let arr = Array.from(document.querySelectorAll('tr')).map(x => Array.from(x.cells).map(y => y.outerText)).splice(1)
copy(arr)

为方便起见,这里是 javascript 数组 https://pastebin.com/xa9S9MEe

编辑: 以下是按代码分组的数据片段:

let arr = Array.from(document.querySelectorAll('tr')).map(x => Array.from(x.cells).map(y => y.outerText)).splice(1).reduce((acc,x) => {acc[x[0]] = {latitude:x[1], longitude:x[2], name:x[3]}; return acc;}, {})
copy(arr)

还有 Pastebin https://pastebin.com/8uVAd7Db