搜索到SO和多篇文章后,我还没有找到解决我的问题的方法。如何使用R-Tree在谷歌地图上绘制大量的地图标记
我想要实现的是在Google地图上加载20,000个标记。
R-Tree看起来是一种很好的方法,但它只在搜索地图可见部分内的点时才有用。当地图缩小时,它会返回所有的点,并使浏览器崩溃。
拖动地图和拖动重新运行查询结束时也存在问题。
我想知道如何使用R-Tree并能够实现上述所有功能。
搜索到SO和多篇文章后,我还没有找到解决我的问题的方法。如何使用R-Tree在谷歌地图上绘制大量的地图标记
我想要实现的是在Google地图上加载20,000个标记。
R-Tree看起来是一种很好的方法,但它只在搜索地图可见部分内的点时才有用。当地图缩小时,它会返回所有的点,并使浏览器崩溃。
拖动地图和拖动重新运行查询结束时也存在问题。
我想知道如何使用R-Tree并能够实现上述所有功能。
如前所述,当您查看缩小视图时,R-Tree不会帮助您。这个问题通常通过标记聚类来解决,因为在浏览器窗口中显示20000点并不是那么有用。
Marker Manager是一个开源的JavaScript库,它解决了这个问题,但也有其他的。
对于非常多的标记,您可能需要查看服务器端集群(R-Tree可能派上用场!)。 Here是它的一个讨论,并且its google cache因为链接在写作时死了。
如果您不想打扰群集,那么只需终止您的标记列表中的一个预设数字,可能是几百(您可以通过可用性测试确定),并显示一些指示,表明有更多可用的你放大
我不清楚R-trees是如何提供帮助的,因为它们被设计为在空间上划分矩形的集合。另外,当地图缩小时,什么方案不会返回所有标记? – bbudge 2010-06-11 18:04:31
集群不会返回所有标记,但我不清楚如何组合两个R-Tree +集群。 R-Tree会返回一个矩形和边界内的所有点,但所有这些点必须聚集并发送到客户端 - 对我来说效率似乎很低...... – Eeyore 2010-06-11 18:18:29