MYSQL查询地图周边信息

不大习惯写博客,还是直接写代码吧

1 插入地图数据(使用的是mybatis)

INSERT INTO address( id,name,address,address_loc,head_pic)
 VALUES(#{entity.id},#{entity.name},#{entity.address}, 
GeomFromText('POINT(${entity.addressLoc})'),#{entity.headPic})

2 查询地图周边信息

SELECT id, ST_Distance_Sphere(Point(#{latitude} , #{longitude}), 
t.address_loc)  as dist, t.`name`,t.address,head_pic,
ST_AsText(t.address_loc) as address_loc
   FROM address t
   WHERE ST_Contains( ST_MakeEnvelope(
   Point((#{latitude}+(#{dist}/111)), (#{longitude}+(#{dist}/111))),
   Point((#{latitude}-(#{dist}/111)), (#{longitude}-(#{dist}/111)))
   ), t.address_loc )
   ORDER BY dist asc

latitude 中心坐标的经度 longitude 中心坐标的纬度
dist是距离 中心坐标的距离,比如查10公里范围内的店家信息

3 查询结果图

image

MYSQL查询地图周边信息

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容