在mysql中按纬度和经度查找

时间:2015-01-21 10:53:57

标签: mysql latitude-longitude

我想在mysql中以给定的纬度和经度搜索附近的位置 纬度是:26.902 经度是:75.793 和距离是:30

查询是:

SELECT
  id, (
    3959 * acos (
      cos ( radians(26.902) )
      * cos( radians( latitude ) )
      * cos( radians( longitude ) - radians(75.793) )
      + sin ( radians(26.902) )
      * sin( radians( latitude ) )
    )
  ) AS distance
FROM business
HAVING distance < 30
ORDER BY distance
LIMIT 0 , 20;

结果: 我得到的记录距离是3.58, 记录纬度/经度为26.89 / 75.74

但是当我在其他网站上在线查看时,我的距离为5.759英里。

1 个答案:

答案 0 :(得分:0)

此处提供的一些代码为存储函数:http://mysql.rjweb.org/doc.php/latlng