不大习惯写博客,还是直接写代码吧
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查询地图周边信息