2017-01-20 14 views
0

знает некоторый эксперт, как изменить непрозрачности из каждых tilemap из в группе слоев с помощью ввода HTML-слайдер?Листовка: Как контролировать непрозрачность групп слоев?

Например: у меня есть несколько фрагментов, которые можно переключить с помощью кнопки Layercontrol от Lealet, как здесь: Leaflet Layer Groups. При использовании ползунка-непрозрачности я хочу затушить каждый tilemap, не только один фактически активен. Например: Я затемняю map1 до 0,5 . Затем, переключаясь на map2, его непрозрачность также должна быть равна 0,5. И при изменении непрозрачности карты2 до 0,8 с помощью ползунка и переходе на map1, map1 должен снова иметь непрозрачность 0.8 (не прежнее скорректированное значение 0,5)

Я знаю, как реализовать управление ползунком и как изменить непрозрачность одного tilemap с помощью команды

nameOfMaplayer.setOpacity(opacityValue); 

Но я не имею представления , как ссылаться на с использованием методов листовки к в Pane/Сетка Layer/массив всех tilemaps изменить непрозрачность панели карты, а не непрозрачность каждого отдельного tilemaps simu ltaniously.

ответ

1

Я думаю, что в конце концов я нашел удовлетворительный ответ сам:

Если мы хотим изменить непрозрачность tilePane (= BaseMap-слои и overlaymap-слои):

map.getPane('tilePane').style.opacity = 0.5; 

Но это имеет тот недостаток, что и элементы Overlay-tilemaps становятся тусклыми, которых я хотел избежать.

Мой предпочтительный метод заключается в изменении непрозрачности активного базового слоя . Поскольку листовка не поддерживает получение активного слоя базовой карты, вы должны будете использовать «Activelayers» -plugin и использовать его методы:

ctrLayer = L.control.activeLayers(baseMaps, overlayMaps, {position: 'topright'}).addTo(map); 
..... 
tilemapLayer = ctrLayer.getActiveBaseLayer().layer; 
tilemapLayer.setOpacity(actualOpacityValue); 

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

 Смежные вопросы

  • Нет связанных вопросов^_^