用户提供的坐标的通用JavaScript解析器

时间:2013-03-08 02:23:53

标签: javascript parsing geocoding latitude-longitude

是否有一个JavaScript库可以帮助解析用户提供的各种格式的坐标?

我有一个带有搜索框的地图网站,可用于搜索地名,但查看统计信息我看到很多人试图直接使用各种格式的坐标,就像他们能够做到的那样在谷歌地图上。

我看到的纬度和经度的典型变化是:

-43 02 42.845 S 172 38 33.790 E
n 19°49'2.30e 41°51'29.20
41°46'57.90"S
172° 1'20.39"E 43 02 42.845 S
42.897S 172.720E
42.31.303 172.23.379
19.817306°, 41.858111°

这是很多变化,这只是一个样本。然后有用户尝试基于NZTM和NZMG的各种新西兰格式。

理想情况下,我想找一个有人可能从一些基本纬度和经度开始的图书馆,然后扩展功能以支持我看到的其他格式。

有人知道那里已有的东西吗?

2 个答案:

答案 0 :(得分:1)

我实际上刚刚发布了名为Magellan的JavaScript库,它处理纬度/经度坐标的格式化和验证,就像上面列出的那样。检查一下,看看它是不是你想要的。

此处链接:http://dbarbalato.github.com/magellan/

快速说明,它不会处理您上面列出的每种格式,但如果有足够的兴趣,我愿意扩展功能。

答案 1 :(得分:-1)

一般表格应为:

var m;
if( m = input.match(/format regex here/)) { /* do stuff with m */ }
else if( m = input.match(/another format/)) { /* do stuff with m */ }
...
else {throw new Error("Format not recognised!");}

构建你需要的正则表达式取决于你,但它们应该太难了,因为它们的格式相对简单。