开发中经常有“附近”相关的需求,根据用户上传的经纬度获取它附近的xxxx
解决方案有很多,查到一个比较适合最近业务场景的,效果还不错
测试:有一张全国城市表,包含全国3000多个主要的省市区县,有需要的可以下载
下载链接
以现在的经纬度深圳龙岗的经纬度为例查询
SELECT *, ( 6371 * acos( cos(radians(22.7217356313)) * cos(radians(lat)) * cos( radians(lng) - radians(114.0602954815) ) + sin(radians(22.7217356313)) * sin(radians(lat)) ) ) AS distance FROM acc_sys_t_city2 ORDER BY distance LIMIT 0, 50;
准备在大数据量的场景中测试一下