【问题标题】:Interactive Map and Lat Lon Input Interface in RshinyR Shiny 中的交互式地图和经纬度输入界面
【发布时间】:2021-06-23 15:49:52
【问题描述】:

这是我尝试过的

server <- function(input, output) {
  observe({
    output$mymap <- renderLeaflet({
      leaflet() %>%
        addTiles() %>%
        fitBounds(-124.7666, 49.4000, -67.0583, 25.0666)%>%
        setView(-95.91245, 37.2333, zoom = 3)
    })
    
    click = input$mymap_click
    if(is.null(click))
      return()
    
    leafletProxy('mymap')%>%addMarkers(lng = click$lng,
                                       lat = click$lat)%>%
      setView(lng = click$lng,
              lat = click$lat, zoom =7)
    
    output$text <- renderText(paste(click$lng,click$lat))
  })
}

ui <- fluidPage(textOutput("text"),
                leafletOutput("mymap"))

shinyApp(ui = ui, server = server)

但我想要的不是响应式输出文本,而是动态的,即地图应该随着纬度、经度值的变化而变化,反之亦然

这是来自https://psl.noaa.gov/eddi/
的示例表示

【问题讨论】:

    标签: r shiny r-leaflet rshiny


    【解决方案1】:

    如果您希望地图以单击的标记为中心,请将线从 click = ... 移动到 setView 在其自己的 observeEvent() 中。此外,您不需要将所有内容都包装在 observe() 中。

    server <- function {
      output$mapmap <- renderLeaflet(...)
    
      observeEvent(input$mymap_click) {
        click = ...
        ...
        leafletProxy(...) %>%
          setView(...)
    
      }
    
      output$text <- renderText(...)
    
    }
    

    【讨论】:

    • 也许我的措辞有误。我正在寻找地图和经纬度界面相互反应,即1.如果我们输入纬度和经度值(作为输入界面),它应该在地图上添加作为标记此外,2.如果我们点击在地图上,它应该显示地图上标记的纬度和经度值(在输入界面本身中)。
    猜你喜欢
    • 2015-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 2016-10-10
    • 2016-07-12
    相关资源
    最近更新 更多