【发布时间】:2020-09-08 16:59:42
【问题描述】:
这可能是一个愚蠢的问题。我有一个嵌入在闪亮应用程序中的地图,我正在寻找一种方法来以编程方式调整标记/形状或其中的组的不透明度,在它们被添加到带有 addMarkers(...) 或类似 add* 功能的传单地图之后。潜在地,相同的原则也适用于其他标记参数,但不透明度是我的首要目标。
Javascript 传单似乎允许这样做,根据此线程判断:setOpacity for multiple markers at the time
答案中的 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)
)
)
server.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...
谢谢!
【问题讨论】:
-
请提供一个简单的独立示例。如果你这样做,你更有可能得到答案——甚至是有用的答案。
-
@Limey 我已经包含了一个最能描述我正在寻找的功能的最小仪表板示例。
标签: javascript r shiny leaflet