【发布时间】:2021-11-30 18:22:09
【问题描述】:
我正在尝试根据用户上传的坐标向地图添加标记。我无法将文件输入存储为数据框,然后将坐标从数据框传递到代理地图以添加标记。
ui <- fluidPage(
titlePanel(title = "My Dashboard"),
sidebarLayout(
fileInput(inputId = "file",
label = "File upload"),
mainPanel(
leafletOutput("mymap")
)
)
)
server <- function(input, output) {
m <- leaflet() %>%
setView(lng = -71.0589,
lat = 42.3601,
zoom = 12) %>%
addProviderTiles(providers$CartoDB.Positron)
output$mymap <- renderLeaflet(m)
observe({
input$file
df <- read.csv('input$file$datapath')
proxy <- leafletProxy("mymap", data = df)
proxy %>% addMarkers(~long, ~lat)
})
shinyApp(ui = ui, server = server)
【问题讨论】:
-
您好,欢迎来到 SO。你能更精确一点吗?尝试启动应用程序时是否有错误?要获得更多答案,您应该制作一个可重复的示例:提供一小部分数据会很好,因此我们只需要复制粘贴您的代码。在这里,我认为您应该将
df <- read.csv('input$file$datapath')更改为df <- read.csv(input$file$datapath)作为初学者