Problem of clearing markers shiny app.

12 views
Skip to first unread message

Alejandra Montiel Saavedra

unread,
Jan 31, 2018, 5:10:55 PM1/31/18
to Shiny - Web Framework for R
Hello!

I have a question about deleting a marker, when a user creates a new marker, then I added a "Delete a marker" button, I have no idea how I encode it.

You could tell me about some method to delete a marker one by one or you would have some code, I just need to know or give me an idea of how to delete it.


There's my code for you to see it.

Server.R
...
...
v <- reactiveValues(msg = "")
  
  df_r <- reactiveValues(new_data = datf)
  clicked_markers <- reactiveValues(clickedMarker = NULL) 
  observeEvent(input$map_click, { 
    
    click<- input$map_click 
    click_lat <- click$lat
    click_long <- click$lng
    
    clicked_markers$clickedMarker <- c(clicked_markers$clickedMarker, 1) 
    id <- length(clicked_markers$clickedMarker) 
    
    v$msg <- paste("Add marker in: ",input$map_click$lat, ",", input$map_click$lng)
    
    if (input$addMarker) {
      leafletProxy("map") %>%
        addMarkers(lng = click$lng, lat = click$lat, layerId = id) #layerid
      
        df_r$new_data <- rbind(rep(NA,ncol(datf)), df_r$new_data)
        df_r$new_data$longitude[1] <- click_long
        df_r$new_data$latitude[1] <- click_lat
        df_r$new_data$existing[1] <- click_long
        
        #if (input$removeMark) {
          #leafletProxy("map", session) %>%
        #         removeMarker(input$map_click)
          
         # }
        
        }
  })
  
  output$tabledata <- renderDataTable({
    df_r$new_data  
   
    })
  
  observeEvent(input$map_zoom, {
    v$msg <- paste("Zoom changed to", input$map_zoom)
  })
  observeEvent(input$map_bounds, {
    v$msg <- paste("Bounds changed to", paste(input$map_bounds, collapse = ", "))
  })
  observeEvent(input$clearMarkers, {
    
    leafletProxy("map") %>% clearMarkers()
  })
  
  observeEvent(input$removeMark, {
    if (input$removeMark) {
      leafletProxy("map") %>%
        removeMarker( ¿?)
      
    }
  })

  
  output$message <- renderText(v$msg)

Reply all
Reply to author
Forward
0 new messages