Повысьте производительность листовок с помощью множества объектов с помощью Geoman листовки

Я изо всех сил пытаюсь найти какое-либо решение для повышения производительности карты листовок с большим количеством объектов на карте.

Что я наделал;

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

Я пробовал использовать MarkerCluster и сделать его совместимым с geoman-буклетом, но мне пришлось отказаться от этого.

Какие варианты существуют на данный момент для повышения производительности, которые по-прежнему позволяют редактировать объекты через листовки-геоман?

Это действительно выглядело очень интересно https://github.com/MazeMap/Leaflet.LayerGroup.Collision Но тоже не совместим с редактированием.


person Henrik Maaland    schedule 05.11.2020    source источник


Ответы (2)


Чтобы использовать MarkerClusters, посмотрите здесь: Leaflet-Geoman MarkerCluster Issue < / а>

Другой вариант - отключить библиотеку Geoman, пока она вам не понадобится. С опцией OptIn: Geoman OptIn (Но это в настоящее время только в стадии разработки, но выйдет через 1-2 недели)

Сначала установите optIn на true, и когда пользователь нажимает на слой, включите Geoman только для этого слоя:

L.PM.setOptIn(true);

//add click listener for each layer:
layers.on('click',(e)=>{
   var layer = e.target;
   layer.options.pmIgnore = false;
   L.PM.reInitLayer(layer);
}
person Falke Design    schedule 05.11.2020

Также ищу ответ, пробовали ли вы:

map.pm.setGlobalOptions({
        limitMarkersToCount: 20
        })

Этот действителен только для вновь созданных объектов, а не для слоев на карте?

person ejovrh2    schedule 06.11.2020
comment
Я редактирую только один объект за раз, а limitMarkersToCount предотвращает только более n вершин вокруг мыши. Это не проблема, поскольку я редактирую только один объект. Благодарность! Но учтите, что если у вас такая же проблема, и значки не очень важны, вы можете заменить все L.Markers на L.circleMarkers, и вы не получите отставания! - person Henrik Maaland; 06.11.2020