这可能是一个愚蠢的问题。我有一个嵌入在闪亮应用程序中的地图,我正在寻找一种方法来以编程方式调整标记/形状或这些标记/形状组的不透明度,在使用
addMarkers(...)
或类似的 add*
功能将它们添加到传单地图后。同样的原则也可能适用于其他标记参数,但不透明度是我的第一个目标。
Javascript传单似乎允许这样做,根据这个线程判断:当时多个标记的setOpacity
答案中的 JSFiddle 代码似乎完全允许这样做,通过访问给定组下的每一层并通过
layer.setOpacity()
设置其不透明度。
下面是这样一个闪亮的应用程序的最小设置:
ui.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)
)
)
服务器.R:
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)
})
}
观察器中监视滑块上事件的
setGroupOpacity
功能尚未在任何地方实现:我正在寻找一种方法来实现此类功能。
有没有办法在 R 中实现这一点?可能会在其中添加一些 JavaScript...
谢谢,来吧。
我无法直接帮助你解决你的问题:我对
leaflet
不够熟悉,唉。 然而,谷歌搜索一下给了我leaflet.opacity
package。 让我印象深刻的是,结合 shinyjs
- 特别是 extendShinyjs - 应该会给你你想要的东西。