我有一个关于在shing+传单中渲染传单的处理问题。由于管道处理(%>%(变得很长,我们希望通过函数使代码紧凑。
一个是带有红色传单的文件。另一个是渲染传单中使用的addAwesomeMarkers。
文件名:ms_method.R
library(shiny)
library(leaflet)
basepath <- "C:/Users/XXXXX/"
source(paste0(basepath,"ms_method_ex.R"),encoding="utf-8")
ui <- fluidPage(
leafletOutput('maps')
)
server <- function(input, output, session) {
output$maps <- renderLeaflet({
leaflet()%>%
addTiles()%>%
setView(lng=139.8,lat=35.7,zoom=12)%>%
# addAwesomeMarkers(
# lng = c(139.8),
# lat = c(35.7),
# )
f1()
})
}
shinyApp(ui, server)
f1函数是在外部文件中定义的函数。它由源语句读取。
接下来是在另一个文件中定义的函数。
文件名:ms_method_ex.R
f1 <- function(){
addAwesomeMarkers(
lng = c(139.8),
lat = c(35.7),
)}
这将导致错误。我应该做什么样的处理?如果有人知道,请告诉我。此外,如果你能告诉我一个有帮助的网页,我将不胜感激。
addAwesomeMarkers
的第一个参数是map
。参见?addAwesomeMarkers
为了使您的函数工作,无论是在管道外,它都需要map
参数,即do:
f1 <- function(map) {
addAwesomeMarkers(map,
lng = c(139.8),
lat = c(35.7),
)}