在数据库中找到最近的经度

时间:2015-11-14 06:26:47

标签: php mysql

我想用经度和纬度搜索,如果我想搜索一些地方(经度50.2122211145,纬度30.02111454)那么我想在我们的数据库(大约20公里)附近有这些值的结果我怎么能这样做:

enter image description here

1 个答案:

答案 0 :(得分:1)

检查一下,

SELECT id, ( 6371 * acos( cos( radians(37) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(50.2122211145) ) + sin( radians(30.02111454) ) * sin( radians( latitude ) ) ) ) 
AS distance 
FROM markers 
HAVING distance < 20 ORDER BY distance LIMIT 0 , 20;

请参阅此wiki page和此document