繁体   English   中英

R shiny renderLeaflet 未呈现

[英]R shiny renderLeaflet not rendering

我正在尝试创建一个交互式 map,它仅显示用户在 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)

运行应用程序时没有错误消息,但 map 没有出现。 请帮忙。

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

这里:

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

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

它应该是:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM