我有大约500 000个标记,当然我不能全部显示它们。我试过MakerClusterer,但是js在地图上绘制集群太复杂了。我在想server-side clusterer,但它比JavaScript解决方案慢得多!谷歌地图 - 服务器端集群
你知道这个问题的解决方案吗?我知道500,000是非常庞大的数字,但是php应该至少和js一样快。这可能是一个实施问题。也许还有其他一些解决方案,如已知的高效?
谢谢
我有大约500 000个标记,当然我不能全部显示它们。我试过MakerClusterer,但是js在地图上绘制集群太复杂了。我在想server-side clusterer,但它比JavaScript解决方案慢得多!谷歌地图 - 服务器端集群
你知道这个问题的解决方案吗?我知道500,000是非常庞大的数字,但是php应该至少和js一样快。这可能是一个实施问题。也许还有其他一些解决方案,如已知的高效?
谢谢
你也可以看看使用Fusion Tables的http://code.google.com/apis/maps/documentation/javascript/overlays.html#FusionTables
你想寻找一个空间填充曲线或空间索引(数据库)。 sfc将2D复杂性降低到1d复杂度。你想寻找尼克的希尔伯特曲线四叉树空间索引博客。 BTW。我已经实现了一个PHP类来使用希尔伯特曲线来搜索邮编。它使用表格非递归方法,可以使用所有4个Hilbert曲线。你可以在phpclasses.org(hilbert-curve)找到我的课程。
如果你不介意使用Django,你可以试试我的应用程序:
https://github.com/biodiv/anycluster
它采用PostGIS的k均值聚类。您可以轻松地将机制调整到您的地图,例如通过根据缩放级别选择gridcluster/kmeanscluster来优化性能。
您的服务器端应用程序可能具有优化潜力。虽然 – 2011-04-19 20:29:54
不知道详细信息是不可能的,但是,你是对的。问题是php脚本运行超过一个小时没有任何结果。 Javascript版本需要大约10分钟。它必须是不好的编码风格什么的。 – 2011-04-19 20:33:09
也许只是在你的代码中的错误?无限循环,例如? – 2012-03-15 19:48:16