如何从特定城市到附近的城市?

时间:2011-01-10 09:14:36

标签: php google-api city

考虑到距基地城市50公里的半径,我需要找到附近的城市。

我的脚本应该是PHP ...是否有任何API可以找到它....

请帮助我......

感谢...

2 个答案:

答案 0 :(得分:5)

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

基地城市:Lat: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”解决方案相同的原则。

答案 1 :(得分:0)

我写了一些计算坐标之间距离的脚本。当你有2个坐标时可以这样做:

base :
 - latitude
 - longitude

city :
 - latitude
 - longititude

你必须传入基地城市地理坐标,然后你需要发送一个cURL到谷歌或雅虎服务器(取决于你想要的地理编码器api)来获得城市坐标。

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

这不是你几分钟内做的事情