“ shinycssloaders”软件包是作为一个简单的包装程序开发的,可以为UI输出提供加载图标,效果很好。不幸的是,它不适用于通过leafletProxy更新的地图(仅生成的初始地图将使用加载图标)。
是否有已知的解决方案?
答案 0 :(得分:1)
这是我使用github.com/AnalytixWare/ShinySky/blob/master/R/busy-indicator.r
提供的功能的方式在您的用户界面中:
tagList(
tags$head(
tags$script(type="text/javascript", src = "busy.js")
)
),
div(class = "busy", p('your text'),img(src="loader.gif")
)
其中文件夹www包含loader.gif和busy.js,
setInterval(function(){
if ($('html').attr('class')=='shiny-busy') {
setTimeout(function() {
if ($('html').attr('class')=='shiny-busy') {
$('div.busy').show()
}
}, 1500)
} else {
$('div.busy').hide()
}
}, 0)
loader.gif(以及提供的文本)将始终在闪亮忙碌时显示(功能中提供了延迟)。
答案 1 :(得分:0)
我正在尝试使这种方法起作用。我设法将gif显示在地图上方,但显示/隐藏无效。有趣的是,在渲染标记时,gif冻结了。我们该如何解决?
# before the loop:
clean_text = [] # empty list
# inside the loop:
clean_text.append(plain[plain.index(cipher[(ord(i)-ord('a'))])])
# later, after the loop, put:
''.join(clean_text)