J'ai résolu mon problème en tant que Lauren. Changing styles when selecting and deselecting multiple polygons with Leaflet/Shiny La seule différence est que j'utilise des polylignes au lieu de polygones. Je veux sélectionner plusieurs polylignes et les désélectionner à nouveau. Mais ça ne marche pas ... on supprime les resélectionnés de la table mais pas de la carte et après qu'une ligne a été supprimée de mes lignes sélectionnées je ne peux plus la sélectionner.Sélectionner et désélectionner des polylignes dans Shiny/Leaflet
Quelqu'un peut-il m'aider s'il vous plaît!
Voici mon code:
library(shiny)
library(leaflet)
library(geojsonio)
url <- "pathTogeojson"
geojson <- geojsonio::geojson_read(url, what = "sp")
shinyApp(
ui <- fluidRow(
leafletOutput("map")),
server <- function(input, output, session) {
click_list <- reactiveValues(ids = vector())
output$map <- renderLeaflet({
leaflet() %>%
addTiles() %>%
setView(lng=16.357795000076294, lat=48.194883921677935, zoom = 15) %>%
addPolylines(data=geojson, layerId = [email protected]$name_1, group = "selected", color="red", weight=3,opacity=1)
})
observeEvent(input$map_shape_click, {
click <- input$map_shape_click
proxy <- leafletProxy("map")
click_list$ids <- c(click_list$ids, click$id)
sel_lines <- geojson[[email protected]$name_1 %in% click_list$ids, ]
if(click$id %in% [email protected]$id)
{
nameMatch <- [email protected]$name_1[[email protected]$id == click$id]
click_list$ids <- click_list$ids[!click_list$ids %in% click$id]
click_list$ids <- click_list$ids[!click_list$ids %in% nameMatch]
proxy %>% removeShape(layerId = click$id)
}
else
{
proxy %>% addPolylines(data = sel_lines, layerId = [email protected]$id, color="#6cb5bc", weight=5,opacity=1)
}
})
})