如何在R中的传单地图中的标记上接收鼠标单击事件?我正在使用RStudio /传单并通过Shiny运行.
我想获取标记的值(例如,ID)并使用它来更新sidebarPanel.
我想仅当在 LayersControl 中单击图层并且缩放级别大于某个数字(例如 8)时才显示该图层。原因之一是,必须执行一些昂贵的计算才能获取图层坐标。我想使用图层控件而不是额外的输入按钮(出于光学原因)。
如果在图层控件中单击图层按钮,是否有办法检索该值?
这是一个简单的例子(不起作用):
library(leaflet)
library(shiny)
ui <- fluidPage(
leafletOutput("map", width = "100%", height = "700")
)
server <- function(input, output){
output$map <- renderLeaflet({
leaflet() %>% addTiles() %>% setView(10.4, 50.3, 7) %>%
addLayersControl(overlayGroups = c("marker"),
options = layersControlOptions(collapsed = FALSE))
})
observe({
# if (input$marker == TRUE){ # how to get value if layercontrol is clicked?
if (input$map_zoom > 8) {
leafletProxy("map") %>% addMarkers(lng = 10.5, lat = 50, group = "marker")
}
# }
})
}
shinyApp(ui …Run Code Online (Sandbox Code Playgroud) 当我点击Leaflet多边形时,我想让tabPanel在Shiny中更改.我有几个关于如何做到这一点的想法,但我找不到实现它们所需的信息.我在tabPanel中有传单,但是我想在单击多边形时切换到另一个选项卡.
leaflet(llmap) %>%
addTiles() %>%
addPolygons(stroke = F,
fillOpacity = .8,
smoothFactor = .5,
color=~pal(x),
popup = pop)
Run Code Online (Sandbox Code Playgroud)
我想过制作popup=updateTabsetPanel(session="New Tab"),但那不起作用.我的另一个想法是随时调用updateTabsetPanel(session="New Tab")用户点击一个新的多边形,但我不知道我需要返回什么事件让它知道点击了一个新的多边形,或者即使弹出一个新的弹出窗口.有谁知道这个?