Клуб API Карт

Добавление новых меток в кластер при перемещении карты

dmishin82
14 августа 2012, 11:38

Всем привет!

 

При перемещении карты на ранее закрытую область происходит добавление найденых на этой области меток. При этом происходит "моргание" кластеров. 

Вот код функции, которая отрабатывает после перемещения карты:

 

function LoadObjectsOnMap(searchDto) {
    for (var i = 0; i < searchDto.length; i++) {
        var item = searchDto[i];  //берем из списка найденых объектов каждый по порядку (это placemark)
      this.placemarks[index] = item;  //добавляем его в клиентский кэш этих объектов (это массив placemark)
      this.cluster.add(item);  //добавляем объект в кластеризатор
    }
    this.map.geoObjects.add(this.cluster);  //добавляем кластер на карту
};

 

Вдобавок скажу, что если убрать последнюю строку, то все равно моргает.

Как мне это исправить? Я не хочу сразу все метки вываливать на карту - хочу подгружать их каждый раз при перемещениии карты (это все с прицелом на использование карты на мобильных устройствах).

 

Заранее благодарю.

6 комментариев
Подписаться на комментарии к посту

Я не очень поняла, что может моргать, если убрать последнюю строчку - на карте же просто не будет кластеризатора.

Видимо моргание происходит, когда кластеризатор уже находится на карте, и в него добавляют объекты?

Пока что могу посоветовать добавлять объекты в кластеризатор не по одному, а пачками. В стиле - подгрузилось 50 меток -  помещаем их оптом в кластеризатор. Это уменьшит количество морганий.

Планируется переделка кластеризатора, при которой обновляться будут только ячейки, в которые добавились новые метки. Возможно, улучшения выедут уже в ближайших релизах, и морганий станет еще меньше. Но, в любом случае, лучше добавлять метки в кластеризатор группами.

но, в любом случае, добавление меток в кластеризатор сопровождается "морганием" кластеров? можно ли сделать этот процесс плавным?

Вы имеете в виду, плавно перемещать старый кластер в новый центр?

у меня поведение следующее:

1. двигаю карту (кластеры двигаются с картой, как и должно быть)

2. останавливаю карту - на карту подгружаются новые объекты

3. все кластеры и отдельные метки исчезают с карты и снова появляются, но уже с учетом добавленых меток (количество меток в кластере может увеличиться, например)

 

Меня волнует имено сам момент, когда кластеры исчезают и появляются вновь. Можно ли сделать так, чтобы кластеры никуда не ичезали, а только количество меток, которые кластер содержит, изменилось?

Вновь добавленные метки могут сместить центр кластера в новую точку. Придется кластер двигать в любом случае.

Привет!

Есть ли какие-то изменения в этой области в новых релизах?