Если у вас есть id или любое другое свойство, определенное для ваших слоев, вы можете получить их, используя map.getLayers()
, и использовать foreach
, чтобы найти слой с этим свойством, используя layer.get()
Пример:
new OlTileLayer({
id: 'osm',
source: new OSM()
})
Вы можете получить этот слой и установить его видимым, используя этот
map.getLayers().forEach(function(layer) {
if(layer.get('id') == 'osm') {
layer.setVisible(false);
}
});
Чтобы реализовать это с помощью флажка, вам, вероятно, придется назначить это свойство слоя в качестве значения флажка и сравнить с layer.get('id')
Обратите внимание, что это не обязательно должен быть id
, вы можете использовать любое имя, которое вам нравится.И кажется, что вы используете группы слоев, и если вы хотите получить слой группы, вам нужно получить слои из группы вместо карты, как layergroup.getLayers()