在地图上显示大量(约50k及以上)标记量(带有聚类)

Sar*_*sch 5 java android google-maps hierarchical-clustering quadtree

我想以类似于此示例的方式在地图上显示标记,但我有更多标记,我想使用"原生"Google地图.

到目前为止,我发现只有一个看起来能够做到这一点的库:android-maps-utils.但经过测试后发现,当有大约35000个标记时,它会出现严重的性能问题.(甚至java.lang.OutOfMemoryError).所以我想知道还有哪些其他选择.从头开始滚动我自己的解决方案可能是我想做的最后一件事.

我想,这个库根本不可用于非常大的标记计数,因为它将它们全部保存在RAM中.例如,在从文件中读取当前不可见标记时,最好过滤掉它们,并在每次摄像机移动后进行.(double从二进制文件中读取35k对DataInputStream非常快,所以现在这不是什么大问题.我想这可以进一步加速.)另外,我可以为不同的缩放级别准备预处理的集群集.文件,因为标记不会经常更改.
但是从头开始实现这一点(特别是 - 适当的集群)看起来很多工作.也许我错过了已经做过的事情?

更新

为此,我尝试使用android-maps-extensions.它工作得更好,但它也将所有标记保存在内存中,当显示大约35k标记时,它会在完全缩小时导致大约20MB的内存消耗,并且在放大时会导致大约24MB.另外大约7MB并且会出现崩溃...所以我想我需要在RAM中保留尽可能少的数据.有没有像这样工作的图书馆?