1

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

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

请帮帮我...

谢谢...

4

2 回答 2

5

这是一个很好的资源: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”解决方案的原理相同。

于 2011-01-10T13:44:51.387 回答
0

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

base :
 - latitude
 - longitude

city :
 - latitude
 - longititude

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

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

这不是您在几分钟内完成的事情

于 2011-01-10T09:58:04.803 回答