2010-12-08 46 views
2

所以,我正在试图开发一个应用程序,将显示用户列表。该站点应检测用户位置(我正在使用maxmind api),然后显示用户位置+用户指定半径内的城市的列表。找到像oodle.com最近的城市

我该怎么做? MaxMind API允许我通过IP地址检测用户的城市,但我如何找到附近的城市?

参考网址:www.oodle.com(您也可以手动更改城市+半径)。

血红

+0

你有没有找到任何API? – muthu 2012-07-24 10:01:12

回答

2

而非存储和比较的城市,存储和比较的纬度和经度,这是具体的位置,而不是明确的名称。 MaxMind的所有GeoIP数据库都提供它们。快速谷歌搜索应该为您提供计算地球上各点之间距离的数学方法。

如果您确实想要查找附近的城市,而不是附近的用户,那么您需要一个将城市映射到位置的数据库。 MaxMind再一次提供了它的所有数据库。转到他们的网站,转到有关您购买或下载的数据库的页面,并查看将CSV格式插入SQL数据库的说明。这会让你了解每个城市的经纬度。然后,Google搜索会再次为您提供计算SQL查询中地球上两点(纬度/长度对)之间距离的算术。按此计算排序以获得最近的城市。

对不起,只给你建议而不是代码,但有很多小事情你只需要自己来建立这个网站。

+0

谢谢,丹。这很有帮助。我希望找到一个能够实现它的API,因为有相当多的网站会根据您的位置和附近位置显示结果。现在,在您的输入中,编码似乎不是非常困难的问题。再次感谢。 – Sanguine 2010-12-11 03:37:19