R googleway - отключить легенду в Shiny - PullRequest
0 голосов
/ 30 августа 2018

Как легенда может быть "отключена" динамически с googleway? Вот код, адаптированный из виньетки googleway (этот пример обновлен по сравнению с предыдущей версией на основе слайдера и, как мы надеемся, более актуален для этого вопроса)

library(googleway)
library(tidyverse)
library(shiny)

ui <- fluidPage(
  checkboxInput("check", "Fill polygons"),
  google_mapOutput(outputId = "map")
)

server <- function(input, output){

  output$map <- renderGoogle_map({
    google_map(key = "") %>%
      add_polygons(data = melbourne, id = "polygonId", pathId = "pathId", 
                   polyline = "polyline", fill_opacity = 0, fill_colour = "SA2_NAME",
                   legend = FALSE, update_map_view = FALSE)
  })

  # observe check box
  observe({

    show_legend <- input$check
    my_fill_opacity <- as.integer(input$check)

    if(show_legend){
      google_map_update(map_id = "map") %>%
        update_polygons(data = melbourne, id = "polygonId",
                        fill_opacity = 1, fill_colour = "SA2_NAME",
                        legend = TRUE)
    } else {
      google_map_update(map_id = "map") %>%
        update_polygons(data = melbourne, id = "polygonId",
                        fill_opacity = 0, fill_colour = "SA2_NAME",
                        legend = FALSE)
    }

  })


}

shinyApp(ui, server)

Левая картинка с легендой, выключенной в начале. Средняя картинка после нажатия «Заполнить полигоны». Правильная картинка после снятия флажка «Заполнить полигоны» - видно, что легенда не исчезает. enter image description here

...