感谢answer 我设法为我的问题找到了一个临时解决方案。
然而,随着每天增长6000点的列表,它变得越来越慢。
我无法使用第三方服务*因此我需要提出自己的解决方案。
以下是我的要求:
需要聚类坐标 使用任何缩放级别的 地图。
需要缓存所有群集
理想情况下,没有必要 群集(计算距离) 如果添加了新点,则指向。
到目前为止,我已经实现了四叉树,它返回地图的四个边界,并返回地图可视区域内的任何坐标。
我需要什么,我知道这不容易就是从DB(postgres)返回的点集群。
答案 0 :(得分:2)
我不明白为什么你必须动态“聚集”。以您满意的分辨率汇总每个缩放级别。
具有简单的X,Y,#链接结构。当有人添加链接时,您插入真实位置(缩放级别最大或其他),然后从那里开始冒泡。
最终你将拥有10个(如果你有10个缩放级别)不同坐标的集合,每个不同的缩放级别一个。
计算是微不足道的,你只需要做一次。
答案 1 :(得分:1)
我目前正在进行大约2,000个标记的动态服务器端集群,但它运行速度非常快,最高可达20,000。您可以在此处查看我的算法的讨论:
每当用户移动地图时,我都会向服务器发送一个带有缩放级别和视图边界的请求,该请求将可查看标记聚类并将其发送回客户端。
我没有缓存群集,因为标记可以动态过滤和搜索 - 但如果它们是预先群集的,那么它会非常快!