diff --git a/IT Shiny App.R b/IT Shiny App.R new file mode 100644 index 0000000..d7c7944 --- /dev/null +++ b/IT Shiny App.R @@ -0,0 +1,60 @@ +library(rjson) +library(shiny) +library(bslib) +library(leaflet) + + +crime_json <- fromJSON(file="C:\\Users\\milli\\Documents\\Datenbereinigung\\data.json") +bezirke <- names(crime_json) + +ui <- page_fillable( + layout_columns( + card( + selectInput( + inputId = "drp_bezirk", + label = "Bezirk", + choices = bezirke), + selectInput( + inputId = "drp_stadtteil", + label = "Stadtteil", + choices = NULL, + ) + ), + leafletOutput("hhmap"), + card("Card rechts"), + col_widths = c(3, 6, 3) + ) +) +server <- function(input, output, session){ + + observeEvent(input$drp_bezirk, { + sel_bezirk <- input$drp_bezirk + + if (sel_bezirk != "") { + + # Neue Auswahlmöglichkeiten bestimmen + sel_stadtteile <- names(crime_json[[sel_bezirk]]) + + # Zweites SelectInput-Feld aktualisieren + updateSelectInput( + session, + inputId = "drp_stadtteil", + choices = sel_stadtteile, + selected = sel_stadtteile[1] # Wählt den ersten Eintrag vor + ) + + } + }) + + output$hhmap <- renderLeaflet({ + leaflet() %>% + addProviderTiles(providers$CartoDB.Positron) %>% + setView( + lng = 9.98716634776887, + lat = 53.5488439196432, + zoom = 10 + ) + }) +} +shinyApp(ui = ui, server = server) +