在业务开发中,遇到一个需求,在手机APP上显示周边的商家服务,商家列表展示按当前位置与商家距离远近排序,就近原则。
解决方法:按经纬度计算,可通过查询数据库按计算排序,具体代码如下:
curlon:当前经度 ,curlat:当前纬度; longitude,latitude商家经纬度。插入下面sql代码,查询时,按distance排序即可。
ROUND((SELECTst_distance_sphere (POINT (#{curlon,jdbcType=DECIMAL},#{curlat,jdbcType=DECIMAL}), point(longitude, latitude))) / 1000,1) AS distance