3

我有大约500 000个标记,当然我不能全部显示它们。我试过MakerClusterer,但是js在地图上绘制集群太复杂了。我在想server-side clusterer,但它比JavaScript解决方案慢得多!谷歌地图 - 服务器端集群

你知道这个问题的解决方案吗?我知道500,000是非常庞大的数字,但是php应该至少和js一样快。这可能是一个实施问题。也许还有其他一些解决方案,如已知的高效?

谢谢

+0

您的服务器端应用程序可能具有优化潜力。虽然 – 2011-04-19 20:29:54

+0

不知道详细信息是不可能的,但是,你是对的。问题是php脚本运行超过一个小时没有任何结果。 Javascript版本需要大约10分钟。它必须是不好的编码风格什么的。 – 2011-04-19 20:33:09

+0

也许只是在你的代码中的错误?无限循环,例如? – 2012-03-15 19:48:16

回答

1

你想寻找一个空间填充曲线或空间索引(数据库)。 sfc将2D复杂性降低到1d复杂度。你想寻找尼克的希尔伯特曲线四叉树空间索引博客。 BTW。我已经实现了一个PHP类来使用希尔伯特曲线来搜索邮编。它使用表格非递归方法,可以使用所有4个Hilbert曲线。你可以在phpclasses.org(hilbert-curve)找到我的课程。

0

如果你不介意使用Django,你可以试试我的应用程序:

https://github.com/biodiv/anycluster

它采用PostGIS的k均值聚类。您可以轻松地将机制调整到您的地图,例如通过根据缩放级别选择gridcluster/kmeanscluster来优化性能。