如何使用Shiny工作在Leaflet地图中获取数字输入?

时间:2018-01-27 23:58:57

标签: r shiny shinyjs r-leaflet

这是一些可重现的R / Shiny代码,我用它来说明我遇到的问题......基本上,如果我尝试将数字输入嵌入到传单地图中,如下图所示,我无法调用数值输入中指定的值输入。

在网上搜索之后,我有一种预感,即由于闪亮和传单渲染图的方式,需要基于JS的解决方案。我尝试创建一个UI输出,然后渲染一个UI数字输入,尝试使用反应函数的各种策略,但没有得到很远。任何帮助都会受到赞赏,因为我一直在试图解决这个问题。

library(shiny)
library(leaflet)
library(dplyr)

content <- paste(sep = "<br/>",
             "<b>Change number below:</b>",
             numericInput("numeroUno", label = NULL, value = 1)
)

ui <- fluidPage(
  "This is a map",
  leafletOutput("myMap"),  
  numericInput('numeroDos', label = NULL, value = 5),
  textOutput("mapPopupLink"))

server <- function(input, output, session) {

output$myMap <- renderLeaflet({
 leaflet() %>% 
    setView(lng = 25.0343, lat = 77.3963, zoom = 5) %>% 
    addPopups(-122.327298, 47.597131, content, options = popupOptions(closeButton = FALSE)) %>%
    addTiles() %>%
    addProviderTiles(providers$OpenTopoMap)
  })

 output$mapPopupLink <- renderText({
      paste("The ui-based widget prints: ", input$numeroDos, ". But the server-based widget does not: ", input$numeroUno)
   })
 }
 shinyApp(ui, server)

请帮忙!

如果您需要其他信息,请与我们联系。

0 个答案:

没有答案