Клуб API Карт

6 комментариев
Всеволод Шмыров
27 января 2016, 22:35
Добрый день. В API есть возможность выполнять кластеризацию только лишь над точечными объектами.
Sergey Konstantinov
27 января 2016, 22:35
Не очень понятно, как именно кластеризовать многоугольники.
Если вы пытаетесь таким образом оптимизировать нагрузку, то вам нужен ObjectManager
http://habrahabr.ru/company/yandex/blog/243665/

гугл как то же сделал

Не сделал. В примере просто "пробили дырку" из полигона для их MarkerManager - функцию getPosition, которая возвращает центр полигона, таким образом переводя его для алгоритма в точечный обьект.

Конечно же это не самое правильное решение.

я так и думал что они наверняка просто центр вычислили и им оперируют. по идее можно сделать также и на яндекс.апи , но насколько я понял вычисление центра плоской фигуры(центр тяжести) это двойной интеграл решать, так сильно в дебри не охота лезть , мб есть метод у полигона возвращающий "центр тяжести"?

Центра масс не даем (вообще это просто сумма векторов), но есть object.geometry.getBounds(), откуда можно взять геометричекий центр.

Но в Clusterer это "так просто" не просунуть.