【问题标题】:R/Leaflet: making LayersControl appear after click instead of hoverR/Leaflet:使 LayersControl 在单击而不是悬停后出现
【发布时间】:2017-12-18 12:48:09
【问题描述】:

请参阅以下 MWE:

library(shiny)
library(leaflet)


ui <- fluidPage(leafletOutput("mymap"))

server <- function(input, output, session) {
  output$mymap <- renderLeaflet({
    leaflet() %>%
      addProviderTiles(
        providers$Stamen.TonerLite,
        group = 'stamen',
        options = providerTileOptions(noWrap = TRUE)
      ) %>%
      addProviderTiles(providers$CartoDB.Positron, group = 'cartodb') %>%
      addLayersControl(baseGroups = c('stamen', 'cartodb'),
                       position = 'bottomleft')

  })
}

shinyApp(ui, server)

LayerControl (addLayersControl) 的标准行为是在用户悬停图标后出现。相反,我想在单击后查看图层选项。标准 addLayersControl 函数不提供此类功能。有人知道解决方法吗?

【问题讨论】:

标签: javascript r shiny leaflet r-leaflet


【解决方案1】:

我不知道 R 但在 JS 中你需要将选项 collapsed 添加到你的 L.control.layers 现在,如果你想打开控件,你必须调用这个:

$(".leaflet-control-layers").addClass("leaflet-control-layers-expanded");

如果你想关闭它:

$(".leaflet-control-layers").removeClass("leaflet-control-layers-expanded");

【讨论】:

    猜你喜欢
    • 2012-09-02
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2021-01-13
    相关资源
    最近更新 更多