Довольно простой вопрос, но я не могу найти ответ;У меня есть интерактивная карта, которая сохраняет координаты в событии щелчка, я хотел бы, чтобы старые маркеры исчезали, если пользователь нажимает на новую часть карты.
Я пробовал разные вещи, включая списки и если команды, нонет, я читал о «реактивных» элементах, не уверен, как это сделать, примеры, которые я пробовал, не сработали.Любой совет с благодарностью.
library(shiny)
library(leaflet)
shinyApp(ui = fluidPage(leafletOutput("map")),
server <- function(input, output, session){
#initial map output
output$map <- renderLeaflet({
leaflet() %>%
setView(lng = -6.670972, lat = 54.693751, zoom=12) %>%
addTiles(options = providerTileOptions(noWrap = TRUE)) %>%
leafem::addMouseCoordinates()
}) #end render
observeEvent(input$map_click, {
click <- input$map_click
print(paste0(click$lat,", ",click$lng))
x<-data.frame(col=paste0(click$lat,", ",click$lng))
write.csv(x,"C:/test.csv", row.names = FALSE, quote = TRUE)
leafletProxy('map') %>%
addMarkers(lng=click$lng, lat=click$lat, label = paste0(round(click$lat,5),", ",round(click$lng,5)),labelOptions = labelOptions(noHide = T)) %>%
addCircles(lng=click$lng, lat=click$lat, group='circles', weight=1, radius=300, color='black', fillColor='red',fillOpacity=0.2, opacity=1)
}) #end observe
}) #end app
Приведенный выше код работает, но каждый раз создает новый маркер