【问题标题】:how do I get nearby cities from a given city?如何从给定城市获取附近的城市?
【发布时间】:2011-01-10 09:14:36
【问题描述】:

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

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

请帮帮我...

谢谢...

【问题讨论】:

    标签: php google-api city


    【解决方案1】:

    这是一个很棒的资源:@​​987654321@

    基地城市:纬度:37 纬度:-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”解决方案的原理相同。

    【讨论】:

    • 你刚刚展示了我需要的东西......谢谢哥们......其实我很懒......只需要小脚本来做大事......
    • 是的,原理是一样的!我会得到每一个结果,并会用我的 PHP 计算它。因为如果您每次都需要计算 10 000 个坐标,它会变得越来越慢.. 并不是每个小脚本都是最快的脚本!但这取决于你! ;)
    【解决方案2】:

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

    base :
     - latitude
     - longitude
    
    city :
     - latitude
     - longititude
    

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

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

    这不是你在几分钟内就能完成的事情

    【讨论】:

      猜你喜欢
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 2013-07-24
      • 1970-01-01
      • 2011-03-17
      • 1970-01-01
      相关资源
      最近更新 更多