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

用户提供坐标的通用JavaScript解析器,javascript,parsing,geocoding,latitude-longitude,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 1

是否有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的各种新西兰格式

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


有人知道那里已经有什么吗?

一般形式应该是:

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!");}

构建所需的正则表达式将由您决定,但它们应该太难了,因为它们是相对简单的格式。

我实际上刚刚发布了名为Magellan的JavaScript库,该库处理纬度/经度坐标的格式设置和验证,如上面所列。看看它,看看它是否是你一直在寻找的

链接此处:


请注意,它不会处理上面列出的每种格式,但如果有足够的兴趣,我愿意扩展该功能。

您是否有屏幕上的帮助说明“请以+/-ddd mm ss.s格式输入纬度,然后输入经度”或单独的纬度和经度字段?否则,你将有非常复杂的逻辑来处理混乱局面。最后两个是完全不明确的,尽管你可能会猜到第一个数字是纬度,因为这是惯例。我没有给出所需的lat-lon格式的指示。事实上,这个功能从来就不是为这个而设计的——我只是对一些用户如何尝试使用这个功能(可能是从他们使用谷歌地图的经验中)做出反应。实际上,我希望尽可能灵活,允许支持尽可能多的格式。我想我可以找到一些通用的搜索提供程序库,它使用正则表达式来查看格式是否符合特定提供程序的标准。应该可以很容易地扩展和添加对格式的支持,而不会变得太复杂。我正在考虑一些更通用的东西,可以根据需要插入更多格式分析器,但基本上你的想法是正确的。我想我的问题以前可能已经解决了,所以如果已经有一个库/解决方案可以处理比我目前遇到的更多的格式,并且我可以在此基础上进行构建,那么为什么要重新发明轮子呢?嗨,Dave,看起来很有希望!我可能必须有一个剧本,看看我是否可以重新考虑它,以允许插入格式。谢谢分享!我会告诉你我的进展。