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