r - 单击 map 后,ObserveEvent 不会打印出图层 ID

标签 r shiny leaflet

我试图通过点击 map 来获取国家信息,但国家名称或 Long/lat 没有打印出来。

任何人都可以在这个问题上启发我吗?

谢谢

该 map 来自自然地球。

library(rgdal)
library(shiny)
library(leaflet)

folder="."
country <- readOGR(dsn = folder, layer = "ne_110m_admin_0_countries", encoding="UTF-8")
country <- spTransform(country, CRS("+proj=longlat +ellps=GRS80"))

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

server <- function(input, output, session){
  # RV<-reactiveValues(Clicks=list())
  output$mymap<- renderLeaflet(
    leaflet() %>%
      addProviderTiles("CartoDB.Positron") %>%
      addPolygons(data = country, layerId= ~ADMIN, fillColor = "red", fillOpacity = 1,  color = "black", 
                  stroke = T,  weight = 1  
      )
  )
  observeEvent(input$map_shape_click, {
    p<- input$map_shape_click 
    print(p$id) # click on map, no response
  }) 
}

shinyApp(ui=ui, server=server)

最佳答案

您的 map 名称是“mymap”而不是“map”。所以你需要更换input$map_shape_clickinput$mymap_shape_click .

library(rgdal)
library(shiny)
library(leaflet)

folder="."
country <- readOGR(dsn = folder, layer = "ne_110m_admin_0_countries", 
encoding="UTF-8")
country <- spTransform(country, CRS("+proj=longlat +ellps=GRS80"))

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

server <- function(input, output, session){
  # RV<-reactiveValues(Clicks=list())
  output$mymap<- renderLeaflet(
    leaflet() %>%
      addProviderTiles("CartoDB.Positron") %>%
      addPolygons(data = country, layerId= ~admin, fillColor = "red", 
fillOpacity = 1,  color = "black", 
                  stroke = T,  weight = 1  
      )
  )
  observeEvent(input$mymap_shape_click, {
    p<- input$mymap_shape_click 
    print(p$id) # click on map, no response
  }) 
}

shinyApp(ui=ui, server=server)

关于r - 单击 map 后,ObserveEvent 不会打印出图层 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49881202/

相关文章:

r - data.table 上的数学运算(在 R 中)

r - R中矩阵中 block 数量的计算

达到 RStudio 最大文件大小

r - 按钮 : download button with scroller downloads only few rows

javascript - 停止在 Leaflet 中传播 'click' 事件

javascript - @font-face 更改 Leaflet.js 弹出行为

r - predict.lm() 如何计算置信区间和预测区间?

r - ggplotly工具提示中的日期格式

R shiny - shiny 应用程序在本地和其他 shiny 服务器上运行良好,但在我的服务器上不起作用。它没有给我错误信息

javascript - heatmap.js 中消失的数据点(传单插件)