Я не уверен, задавали ли вы этот вопрос независимо или как часть приложения, но если вы хотите сохранить карту в виде интерактивного HTML-кода, просто запустите эту часть кода и выберите параметр «Экспорт» на панели просмотра, а затем «Сохранить». как веб-страница ...
library(leaflet)
name <- 'EIFFEL TOWER'
longitude <- 2.2945
latitude <- 48.8583
location <- data.frame(name,longitude,latitude)
icon.pop <- awesomeIcons(icon = 'thumb-tack',
markerColor = 'blue',
library = 'fa',
iconColor = 'black')
leaflet(location) %>%
addProviderTiles(providers$Stamen.TonerLite,
options = providerTileOptions(noWrap = TRUE)
) %>%
addAwesomeMarkers(~longitude, ~latitude, label = ~name, icon=icon.pop)
Обновление:
Пожалуйста, попробуйте это (используя htmlwidgets::saveWidget()
)
library(shiny)
library(leaflet)
library(htmlwidgets)
ui <- fluidPage(
leafletOutput(outputId = "eiffelmap")
, downloadButton(outputId = "savemap")
)
server <- function(input, output, server){
name <- 'EIFFEL TOWER'
longitude <- 2.2945
latitude <- 48.8583
location <- data.frame(name,longitude,latitude)
icon.pop <- awesomeIcons(icon = 'thumb-tack',
markerColor = 'blue',
library = 'fa',
iconColor = 'black')
map <- reactive({
name <- 'EIFFEL TOWER'
longitude <- 2.2945
latitude <- 48.8583
location <- data.frame(name,longitude,latitude)
icon.pop <- awesomeIcons(icon = 'thumb-tack',
markerColor = 'blue',
library = 'fa',
iconColor = 'black')
leaflet(location) %>%
addProviderTiles(providers$Stamen.TonerLite,
options = providerTileOptions(noWrap = TRUE)
) %>%
addAwesomeMarkers(~longitude, ~latitude, label = ~name, icon=icon.pop)
})
output$eiffelmap <- renderLeaflet({
map()
})
output$savemap <- downloadHandler(
filename = "eiffelmap.html",
content = function(file){
saveWidget(
widget = map()
, file = file
)
}
)
}
shinyApp(ui, server)