通过当前用户的经纬度,查询附近的店铺

店铺表结构:

通过当前用户的经纬度,查询附近的店铺_第1张图片

SQL语句:(传入用户当前距离:蓝色为纬度,红色为经度)

SELECT *,SQRT(

    POW(111.2 * (lat - 40.0844020000), 2) +

    POW(111.2 * (116.3483150000 - lng) * COS(lat / 57.3), 2)) AS distance

FROM map HAVING distance < 25 ORDER BY distance;

得到结果:distance字段为 当前位置 到 所有店铺 的直线距离,单位km

通过当前用户的经纬度,查询附近的店铺_第2张图片



验证结果:

通过当前用户的经纬度,查询附近的店铺_第3张图片

通过当前用户的经纬度,查询附近的店铺_第4张图片



参考资料(搬运、整理、验证自):http://stackoverflow.com/questions/2234204/latitude-longitude-find-nearest-latitude-longitude-complex-sql-or-complex-calc


你可能感兴趣的:(mysql,经纬度,gps,距离计算)