経緯度で距離を計算することで、周辺の500メートル以内の商店を得ることができます。mybatisのSql文を実現します。

1204 ワード

 
  
 
  
 
  
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