Карты Google - кластеризация на стороне сервера - PullRequest
3 голосов
/ 20 апреля 2011

У меня около 500 000 маркеров, и, естественно, я не могу отобразить их все.Я пробовал MakerClusterer , но для js было слишком сложно отобразить кластеры на карте.Я думал о кластер на стороне сервера , но это было намного медленнее, чем решение javascript !!!

Знаете ли вы какое-либо решение этой проблемы?Я знаю, что 500 000 - это очень большое число, но PHP должен быть по крайней мере так же быстро, как JS.Это, вероятно, вопрос реализации.Возможно, есть какое-то другое решение, подобное этому, которое, как известно, эффективно?

Спасибо

Ответы [ 3 ]

2 голосов
/ 20 апреля 2011

Вы также можете взглянуть на таблицы Fusion http://code.google.com/apis/maps/documentation/javascript/overlays.html#FusionTables

1 голос
/ 20 апреля 2011

Вы хотите найти кривую заполнения пространства или пространственный индекс (база данных). Sfc уменьшает 2d сложность до 1d сложности. Вы хотите найти блог пространственного индекса квадра дерева кривой Гильберта. КСТАТИ. Я реализовал класс php, чтобы использовать кривую Гильберта для поиска почтовых индексов. Он использует нерекурсивный подход к таблице и может использовать все 4 гильбертовых кривых. Вы можете найти мой класс на phpclasses.org (кривая Гильберта).

0 голосов
/ 02 апреля 2013

Если вы не возражаете против использования Django, вы можете попробовать мое приложение:

https://github.com/biodiv/anycluster

Это использует кластеризацию postgis kmeans.Вы можете легко адаптировать механизмы к вашей карте, например, выбирая между gridcluster / kmeanscluster в зависимости от уровня масштабирования для оптимизации производительности.

...