实现思路

数据在地图上的可视化显示大致思路 后台db 查询出数据点 + 前端地图将一个个的点渲染出来

商家地理位置录入

可以通过地图选点的方式获得商家的坐标
或者调用百度地图api查询某位置(如:上海中山公园地铁站)的坐标

数据可存储在 mongodb、 elasticsearch、redis 等db中 实现LBS需要 数据库的支持,支持存储geo数据类型的数据库都成

按照地理位置查询

使用mongodb、es的api查询某个坐标点一定范围内的数据
或者按照 圆形、矩形区域搜索

如果还有其他需求,比如餐饮地址、景点地址等分类,另加字段来过滤

显示最近的人、饭店

查询时,分类过滤,按距离排序

显示某一区域景点

百度地图api + list[商家坐标]

地图缩放时,调整数据显示

当地图放大、缩小、移动时, 调整查询参数(查询点、查询距离)

当地图页面是某个具体区域时,商家都是一个个的点 当页面缩放显示更多区域时,商家点会很密集 这时,通过百度地图点聚合功能,可以达到多点聚合显示的功能

点聚合表现形式

聚合点可以采用默认的聚合 或 按照分类 (餐饮、景点、行政区域等)

参考

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
百度地图api-点聚合文档
http://lbsyun.baidu.com/index.php?title=jspopular/guide/conflux
百度地图(多点定位+聚合)
https://www.cnblogs.com/yuanxinghuo/p/8108492.html
https://blog.csdn.net/u013705066/article/details/55511430
https://bbs.csdn.net/topics/390865791

结合 MongoDB 开发 LBS 应用
https://www.cnblogs.com/Rebrin/articles/4632861.html
https://blog.csdn.net/huangrunqing/article/details/9112227
https://www.infoq.cn/article/depth-study-of-Symfony2
MongoDB地理空间数据存储及检索
https://www.cnblogs.com/oloroso/p/9777141.html#全国区县行政区划入库示例
LBS VS GIS
https://site.douban.com/161469/widget/notes/8540992/note/218934166/