通过经纬度计算距离,可以用来得到周边500米内的商家。mybatis中的Sql语句实现

 
  
 
  
 
  
 
  
SELECT id,address,name, SETPOSX, SETPOSY,
ROUND(
6378.138 * 2 * ASIN(
SQRT(
POW(
SIN(
(
#{lat} * PI() / 180 - SETPOSY * PI() / 180
) / 2
),
2
) + COS(#{lat} * PI() / 180) * COS(SETPOSY * PI() / 180) * POW(
SIN(
(
#{lng} * PI() / 180 - SETPOSX * PI() / 180
) / 2
),
2
)
)
) * 1000
) AS distance
FROM
    store



   
   

ORDER BY distance ASC LIMIT 30

你可能感兴趣的:(mybatis,SQL)