Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
clearShapes()不工作--R的传单()_R_Shiny_Leaflet - Fatal编程技术网

clearShapes()不工作--R的传单()

clearShapes()不工作--R的传单(),r,shiny,leaflet,R,Shiny,Leaflet,我不明白为什么我的传单程序中没有使用clearshapes()。我正在尝试删除现有的圆圈,并替换为根据我的输入复选框选择的类别。然而,所发生的事情是,新的圆圈被覆盖在现有圆圈之上 以前有人遇到过这种情况吗 df = read.csv("mappingData.csv",header=T, sep =",") ui = fluidPage( checkboxGroupInput("set", label = "Pothole Reported by:",

我不明白为什么我的传单程序中没有使用
clearshapes()
。我正在尝试删除现有的圆圈,并替换为根据我的输入复选框选择的类别。然而,所发生的事情是,新的圆圈被覆盖在现有圆圈之上

以前有人遇到过这种情况吗

df = read.csv("mappingData.csv",header=T, sep =",")

ui = fluidPage(
  checkboxGroupInput("set", label = "Pothole Reported by:",
                     choices = list("Citizens Connect App" = "Citizens Connect App", 
                                    "City Worker App" = "City Worker App",
                                    "Constituent Call" = "Constituent Call",
                                    "Self Service" = "Self Service",
                                    "Employee Generated" = "Employee Generated",
                                    "Not Available (Cambridge)" = "")),

  verbatimTextOutput("value"),

  leafletOutput("map")
)


server <- function(input, output) {

  filteredDataCheck <- reactive({
    # subset(df, Source == input$set)
    print(input$set)
  })

  output$value <- renderPrint ({ filteredDataCheck() })

  filteredData <- reactive({
    df[as.character(df$Source) == input$set, ]
  })


  output$map <- renderLeaflet ({
    leaflet(df) %>%
      setView(-71.083, 42.353, 13) %>%
     addProviderTiles("Stamen.TonerLite", options = providerTileOptions(noWrap=T))
  })

  observe({
    leafletProxy("map", data = filteredData() ) %>% clearShapes() %>%
      addCircles(radius = 1, color = "red", group = "circles") %>% clearShapes()

  })

}

shinyApp(ui = ui, server = server)
df=read.csv(“mappingData.csv”,header=T,sep=“,”)
ui=fluidPage(
checkboxGroupInput(“设置”,label=“报告的坑洞:”,
选项=列表(“公民连接应用程序”=“公民连接应用程序”,
“城市工作者应用程序”=“城市工作者应用程序”,
“成分调用”=“成分调用”,
“自助服务”=“自助服务”,
“员工生成”=“员工生成”,
“不可用(剑桥)”=“”),
逐字输出(“值”),
单张输出(“地图”)
)
服务器%clearShapes()
})
}
shinyApp(用户界面=用户界面,服务器=服务器)

filteredData()
为空时,似乎出现了问题。您可以尝试添加if/else:

if(nrow(filteredData())==0) { leafletProxy("map") %>% clearShapes()} 
else {
    leafletProxy("map", data = filteredData() ) %>% clearShapes() %>%
      addCircles(radius = 1, color = "red", group = "circles")
    }
此外,如果您希望所有数据点都具有选定的
,您可能希望在筛选中使用%中的
%而不是
=

df[as.character(df$Source) %in% input$set, ]

filteredData()
为空时,似乎出现了问题。您可以尝试添加if/else:

if(nrow(filteredData())==0) { leafletProxy("map") %>% clearShapes()} 
else {
    leafletProxy("map", data = filteredData() ) %>% clearShapes() %>%
      addCircles(radius = 1, color = "red", group = "circles")
    }
此外,如果您希望所有数据点都具有选定的
,您可能希望在筛选中使用%
中的
%而不是
=

df[as.character(df$Source) %in% input$set, ]

很好-非常感谢你。这很有效。但是,我想知道您是否知道有什么简单的方法可以让clearShapes()只在从列表中删除给定项时才清除。现在,当添加一个新项目时,所有的形状都会被清除,因此在添加一组新的形状时,清除形状会很困难。谢谢!这是众所周知的问题还是应该报告?很好-非常感谢。这很有效。但是,我想知道您是否知道有什么简单的方法可以让clearShapes()只在从列表中删除给定项时才清除。现在,当添加一个新项目时,所有的形状都会被清除,因此在添加一组新的形状时,清除形状会很困难。谢谢!这是众所周知的问题还是应该报告?