有没有办法修改传单中现有标记/形状的不透明度(有光泽)

问题描述 投票:0回答:1

这可能是一个愚蠢的问题。我有一个嵌入在闪亮应用程序中的地图,我正在寻找一种方法来以编程方式调整标记/形状或这些标记/形状组的不透明度,在使用

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...

javascript r shiny r-leaflet
1个回答
0
投票

谢谢,来吧。

我无法直接帮助你解决你的问题:我对

leaflet
不够熟悉,唉。 然而,谷歌搜索一下给了我
leaflet.opacity
package。 让我印象深刻的是,结合
shinyjs
- 特别是 extendShinyjs - 应该会给你你想要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.