Возможно, вам нужно реализовать свой собственный алгоритм кластеризации - я думаю, что Google Maps позволяют вам реализовать свою собственную стратегию (я знаю, что Bing Maps делает, и обычно они копируют друг друга в течение примерно 6 месяцев после внедрения новой функции). 1001 *
Обратите внимание, что для большого количества плотных кнопок ваши ограничения разделения, но с отображением всех контактов, конфликтуют.
Что касается стратегии, моя первая мысль - алгоритм отжига, хотя, вероятно, он не очень быстрый. По сути, каждая канцелярская кнопка будет воздействовать на окружающие канцелярские кнопки на определенном расстоянии. повторять до тех пор, пока не станет достаточно стабильным.