Страница 1 из 1

перерисовка меток при серверной кластеризации, leaflet

Добавлено: 02 мар 2021, 16:14
Yuraz
Здравствуйте!
Столкнулся с проблемой... у меня серверная кластеризация на postgresql, все работает отлично. После каждого перемещения по карте возвращаю новый json с метками для этого экрана.

Код: Выделить всё

//перемещение карты
map.on('moveend', function onDragEnd(){
После чего удалю все видимые метки, и отображаю новые. Все ли верно делаю? Работает в общем нормально, мне нравится.

Код: Выделить всё

map.eachLayer(function(layer) {
	if ((layer instanceof L.Marker) || (layer instanceof L.CircleMarker))
		{
			layer.remove();
		}
});
Но тут начал рисовать полигоны. А на вершинах полигона тоже метки, небольшие кружки. И они к сожалению тоже удаляются кодом выше... Делал проверку на (layer.options.pane!='markerPane') - (а они именно markerPane) не получается, ошибка генерится...

Картинки смотреть сначала нижнюю, потом подвигали, потом верхнюю. Вершины исчезли.

Посоветуйте, как сделать по уму...

Re: перерисовка меток при серверной кластеризации, leaflet

Добавлено: 02 мар 2021, 16:27
freeExec
Зачем вы удаляете все слои с маркерами, а не тот, в котором у вас ваши кластеры?

Re: перерисовка меток при серверной кластеризации, leaflet

Добавлено: 02 мар 2021, 22:19
Yuraz
freeExec писал(а): 02 мар 2021, 16:27Зачем вы удаляете все слои с маркерами, а не тот, в котором у вас ваши кластеры?
Да, косяк... пока написал и ехал в авто, думал, надо удалять только один конкретный слой.