Проведите пальцем в openlayers с групповыми слоями

#controls #openlayers #swipe #layer

#элементы управления #openlayers #проведите пальцем #слой

Вопрос:

Я использую пример https://viglino.github.io/ol-ext/examples/control/map.control.swipe.html чтобы создать свой свайп, и это сработало. Тем не менее, я хочу использовать группу слоев, чтобы выбрать, какой из них показывать, согласно приведенному ниже коду.

 var swipe_control = new ol.control.Swipe();

// Group of layers - menu
var overlays = new ol.layer.Group({
    title: 'Maps',
    fold: 'open',
    layers: [
            new ol.layer.Group({
                title: 'Group 1',
                fold: 'open',
                layers: [
                    swipe_control.addLayer(layer1),
                    swipe_control.addLayer(layer2, true)
                ]
            }),
            new ol.layer.Group({
                title: 'Group 2',
                fold: 'open',
                layers: [
                    swipe_control.addLayer(layer3),
                    swipe_control.addLayer(layer4, true)
                ]
            })  
        ]   
});

map.addControl(swipe_control);
 

Мой вопрос: как использовать салфетки в группе, чтобы, если я проверил опцию, я установил слой справа и слева? Спасибо

Комментарии:

1. @ViglinoJean-Марк, ты можешь мне помочь?

Ответ №1:

Свайп применяется только к самому слою, а не к группе слоев.
слои внутри группы слоев должны быть добавлены / удалены из элемента управления, когда вы установите флажок.

Комментарии:

1. Спасибо. Я понял. Я добавил слои в группу, а затем создал функцию, чтобы проверить, есть ли уже слой с левой стороны, если да, я удаляю его перед включением с помощью салфетки. То же самое для правой стороны.