商城表
lng代表经度,lat代表纬度!其他的不重要
然后用下面的SQL语句进行查询即可!
假设当前 经度为:118.356734
纬度为:21.785367
则SQL语句如下
SELECT
*,(
6371 * acos (
cos ( radians(21.785367) )
* cos( radians( lat ) )
* cos( radians( lng ) - radians(118.356734) )
+ sin ( radians(21.785367) )
* sin( radians( lat ) )
)
) AS distance //距离
FROM t_shop
HAVING distance < 2 //筛选距离小于2km的商家(可不写),如果没查到数据就是没有小于2km的商家
ORDER BY distance //根据距离远近来排序 默认升序 (可不写)
LIMIT 0 , 20; //显示前20条数据(可不写)