这可能是一个愚蠢的问题。我将地图嵌入到闪亮的应用程序中,我正在寻找一种以编程方式调整标记/形状或其中一组标记的不透明度的方法,将它们添加到addMarkers(...)
或类似的{{1 }}函数。可能,相同的原理也可能适用于其他标记参数,但是不透明度是我的首要目标。
根据此线程判断,JavaScript传单似乎允许它使用:setOpacity for multiple markers at the time
答案中的JSFiddle代码似乎可以实现这一点,方法是访问给定组下的每一层并通过add*
设置其不透明度。
以下是此类闪亮应用程序的最小设置:
ui.R:
layer.setOpacity()
server.R:
library(shiny)
library(shinydashboard)
library(leaflet)
dashboardPage(
dashboardHeader(),
dashboardSidebar(),
dashboardBody(
leafletOutput("maptest"),
sliderInput(inputId = "opacity.slider", label = "opacity", min = 0, max = 1, value = 1)
)
)
观察器中用于监视滑块事件的server <- function(input, output) {
output$maptest <- renderLeaflet({
leaflet() %>% addMarkers(lat = c(0), lng = c(0), layerId = "layer1", group = "testgroup")
})
observeEvent(input$opacity.slider, {
print(input$opacity.slider)
leafletProxy("maptest") %>% setGroupOpacity(group = "testgroup", opacity = input$opacity.slider)
})
}
函数尚未在任何地方实现:我正在寻找一种实现这种功能的方法。
在R中是否有实现此目标的方法?可能在其中扔一些JavaScript ...
谢谢!
答案 0 :(得分:0)
谢谢,喜剧。
我无法直接帮助您解决问题:las,我对leaflet
不够熟。但是,有些谷歌搜索给了我leaflet.opacity
package。令我惊讶的是,结合shinyjs
-特别是extendShinyjs-应该可以给您想要的东西。