2013-01-24 37 views
1

我有一个JSON格式的世界各地的用户列表。列表中的每个项目都有一个位置信息。地理位置:通过接近筛选

  1. 如何将这些位置转换为正确的经度和纬度?
  2. 如何过滤这些位置以获取距我目前位置50英里内的位置(假设我知道如何获取当前的经度和纬度)。

有没有我可以使用的服务?

我真的需要将这些位置转换为经度和纬度吗?基本上我想要做的就是找到距离当前位置50英里的位置,并忽略其他位置。

回答

3

你可以使用免费的geonames.org webservice。有一个search method可用,您可以提供位置名称并获取任何位置的经度和纬度。请注意,可能有多个位置具有相同的名称。看到这里的例子:http://api.geonames.org/searchJSON?q=london&maxRows=10&username=demo

对于你的第二个问题,有多种方法。在this question中列出了基本算法,但最简单的方法可能是使用Google Maps API(请参阅this question的第二个答案)。

1

我已经完成了这项工作,因为它不是一个人只能用JavaScript做的事情& JSON。最好的方法是创建一个使用空间Point命令的MySQL数据库。如果您想要JSON,那么您将不得不创建一个Web服务(例如使用PHP)来管理MySQL数据库的JavaScript &之间的查询。起初似乎令人生畏,但一旦掌握了它,它就很酷。我建议reading this site了解基础知识。

+0

非常感谢,我希望有node.js的一些nosql解决方案?无论如何利用这个http://docs.mongodb.org/manual/core/geospatial-indexes/ – socialMatrix

+0

看起来像一个新的方式在MongoDB中做类似的事情,但我总是喜欢使用更稳定和支持的MySQL方法。也许MongoDB将努力成为一个标准,但它还没有。祝你好运! – JakeGould