R shiny renderLeaflet不渲染

R shiny renderLeaflet not rendering

我正在尝试创建一个交互式地图,该地图仅显示用户在 R shiny 中选择的地区中的位置。

rm(list=ls())
library(readxl)
library(shiny)
library(tidyverse)
library(leaflet)

setwd("C:/Users/Dulguun Sukhbat/Desktop/intern")
data <- read_xlsx("data.xlsx",sheet = 1)
data <- data %>% select(-c(total.price,location,"location:"))
data <- na.omit(data)
attach(data)
data$LAT <- as.numeric(data$LAT)
data$LONG <- as.numeric(data$LONG)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("district","Select a district:",
                  choices = unique(data$district))
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Map")
      )
    )
  )
)
#server <- function(input, output) {
 # dist_choice <- reactive({
    #d <- data %>% filter(district == input$district)
   # return(d)
 # })
  #dist_choice <- dist_choice %>% mutate(popup_info=paste("built - ",built,"<br/>","area - ",
  #                                         square,"<br/>","sq.price - ",sq.price))
 # }
server <- function(input, output) {
  dist_choice <- reactive({
    data %>%
      filter(district %in% input$district) %>%
      mutate(popup_info = paste("built - ",built,"<br/>","area - ",
                          square,"<br/>","sq.price - ",sq.price))
  })
  output$Map <- renderLeaflet({
    leaflet(dist_choice()) %>% addTiles() %>% addCircleMarkers(data = dist_choice(),
                        lat = ~LAT,lng = ~LONG,radius=1,popup = ~popup_info)
})
}

shinyApp(ui = ui, server = server)

我运行应用程序时没有错误消息,但地图没有显示。请帮忙。

您没有包含最小的可重现示例,因为您使用的数据对我们不可用(您可以为此检查功能 dput)。但是看起来您只是错过了 UI.

中的输出函数

这里:

mainPanel(
      tabsetPanel(
        tabPanel("Map")
      )
    )

您创建了 mainPanel,然后 tabsetPanel 作为 tabPanel 将居住的地方。然后 tabPanel,但它只是一个 tab,你仍然需要告诉那里你想要你的地图。您还可以 运行 ?tabPanel 查看文档中的示例。

应该是:

mainPanel(
  tabsetPanel(
    tabPanel("Map",
             leafletOutput("Map")
             )
  )
)