如何从特定的城市获取附近的城市?

问题描述:

考虑到距离基地城市50公里的半径,我需要找到附近的城市。如何从特定的城市获取附近的城市?

我的剧本应该是在PHP ...是否有任何的API来找到它....

请帮我...

感谢...

这是一个很好的资源做一些事情:code.google.com/apis/maps/articles/phpsqlsearch.html#findnearsql

基地城市:     纬度:37       LNG:-122

SELECT id, (6371 * acos(cos(radians(37)) * cos(radians(lat)) * cos(radians(lng) - radians(-122)) + sin(radians(37)) * sin(radians(lat)))) AS distance FROM markers HAVING distance < 50 ORDER BY distance LIMIT 0 , 20; 

与“Tricker”解决方案的原理相同。

+0

你刚刚显示我需要..谢谢哥们...其实我很懒惰...只是需要小脚本做大事... – saikat 2011-01-10 14:21:10

我写的一种计算坐标之间距离的脚本。你可以做到这一点,当你有2个坐标:

base : 
- latitude 
- longitude 

city : 
- latitude 
- longititude 

你必须在基地城市地理COORDS通过,那么你需要卷曲发送给谷歌或雅虎服务器(取决于你想你该地址解析器API )获得城市协调。

现在它的问题来自哪个城市吗?如果你没有,你可以购买一个邮编区域数据库(然后你可以让你的坐标离开你想要的城市)。当你有来自城市的坐标时,你可以运行一个复杂的计算,因为距离。之后,您可以查看结果/距离是大于还是小于50.如果较小,您可以将它作为范围内的城市返回。

这不是你在几分钟内

+0

嗯多数民众赞成在有趣的...我会尝试这一个...感谢您的答复... – saikat 2011-01-10 11:00:40