在搜索 SO 和多篇文章后,我还没有找到解决问题的方法。
我想要实现的是在谷歌地图上加载 20,000 个标记。
R-Tree似乎是一个不错的方法,但它仅在搜索地图可见部分内的点时才有用。当地图被缩小时,它会返回所有的点并且......崩溃浏览器。
拖动地图并在拖动结束时重新运行查询也存在问题。
我想知道如何使用 R-Tree 并能够实现上述所有目标。
在搜索 SO 和多篇文章后,我还没有找到解决问题的方法。
我想要实现的是在谷歌地图上加载 20,000 个标记。
R-Tree似乎是一个不错的方法,但它仅在搜索地图可见部分内的点时才有用。当地图被缩小时,它会返回所有的点并且......崩溃浏览器。
拖动地图并在拖动结束时重新运行查询也存在问题。
我想知道如何使用 R-Tree 并能够实现上述所有目标。
如前所述,当您查看缩小视图时,R-Tree 不会为您提供帮助。这个问题通常通过标记聚类来解决,因为在浏览器窗口中显示 20,000 个点并没有那么有用。
Marker Manager是一个开源的 javascript 库,可以解决这个问题,但还有其他的。
使用大量标记,您可能需要查看服务器端集群(R-Tree 可能会派上用场!)。 这是对它的一个讨论,以及它的谷歌缓存,因为在撰写本文时链接已失效。
如果您不想打扰聚类,那么只需将标记列表终止在预设数量,可能是几百个(您可以通过可用性测试确定),并在放大时显示一些指示有更多可用