Ich möchte ein bedingtes Feld in meiner Karte anzeigen, wenn ich auf einen Kreis klicke, und dieses bedingte Feld muss verschwinden, wenn ich außerhalb eines Kreises klicke, aber nicht erscheint und Ich weiß nicht warum.R Flugblatt: Bedingtes Feld erscheint nicht in Karte
Ich denke, es geht um reaktive Werte (noch einmal).
Wenn eine Idee, bitte sagen Sie mir.
Vielen Dank, das ist ein reproduzierbares Beispiel (dank SymbolixAU):
ui:
library(shiny)
library(leaflet)
ui <- fluidPage(
leafletOutput("mymap",width="100%",height="750px"),
conditionalPanel(
condition = "output.COND == '2'",
fluidRow(
absolutePanel(id = "cond_panel",
class = "panel panel-default",
fixed = TRUE,
draggable = TRUE,
top = "auto",
left = 200,
right = "auto",
bottom = 0,
width = 400,
height = 400,
fluidRow(
) # e. of fluidRow(
) # # e. of absolutePanel
) # e. of fluidRow
) # e. of conditionalPanel
) # e. of fluidPage
und der Server:
server <- function(input, output){
rv <- reactiveValues()
rv$myDf <- NULL
rv$cond <- NULL
cities <- read.csv(textConnection("
City,Lat,Long,Pop
Boston,42.3601,-71.0589,645966
Hartford,41.7627,-72.6743,125017
New York City,40.7127,-74.0059,8406000
Philadelphia,39.9500,-75.1667,1553000
Pittsburgh,40.4397,-79.9764,305841
Providence,41.8236,-71.4222,177994
"))
cities$id <- 1:nrow(cities)
output$mymap <- renderLeaflet({
leaflet(cities) %>% addTiles() %>%
addCircles(lng = ~Long, lat = ~Lat, weight = 1,
radius = ~sqrt(Pop) * 30, popup = ~City, layerId = ~id)
})
observeEvent(input$mymap_click, {
print("map clicked")
rv$cond <- "1"
print(paste("Value rv$cond = ", rv$cond))
output$COND <- reactive({rv$cond})
leafletProxy("mymap")
}) # e. of observeEvent
observeEvent(input$mymap_shape_click, {
print("shape clicked")
rv$cond <- "2"
print(paste("Value rv$cond = ", rv$cond))
output$COND <- reactive({rv$cond})
leafletProxy("mymap")
}) # e. of observeEvent
} # e. of server
Du bist die beste SymbolixAU, es funktioniert prima! Ich hätte es nie geschafft, ohne deine Hilfe zu arbeiten, es ist das dritte Mal, dass du mir seit gestern hilfst. Vielen Dank, einen schönen Tag. –
@Mickey_NC - kein Problem, fühl dich frei zu akzeptieren/'tick "Die Antwort, wenn es dein Problem löst! – SymbolixAU