有条件的多个事件在R Shiny中触发eventReactive

时间:2017-01-05 16:47:53

标签: r shiny

我的Shiny应用程序中有一个传单对象,当用户缩放超过某个级别时,我想在地图上显示标记。我希望这基于两个事件发生:

  1. 用户缩放地图或
  2. 边界在变为必要阈值时发生变化。
  3. 以下是我的两个被动函数,它们被用作addCircleMarkers的数据参数。

    transIn <- reactive({
            bounds <- input$OrgMap_bounds
            latRng <- range(bounds$north, bounds$south)
            lngRng <- range(bounds$east, bounds$west)
    
            subset(org_input(),
                   latitude >= latRng[1] & latitude <= latRng[2] &
                     longitude >= lngRng[1] & longitude <= lngRng[2])
          })
    
    transInBounds <- eventReactive({input$OrgMap_zoom | input$OrgMap_bounds}, {
                if(as.integer(input$OrgMap_zoom) <= 5){
                  return(orglevel[63,])
                } else {
                    return(transIn())
                    }
                })
    
    observe({
    leafletProxy("OrgMap", data = transInBounds()) %>% 
    clearMarkers() %>% 
    addCircleMarkers(~longitude, ~latitude, radius = 1, color = "red", fillOpacity = 1, popup = ~as.character(organization), group = "Locations")
    })    
    

    运行此代码时出现以下错误:

      

    警告:|:操作中的错误仅适用于数字,逻辑或复杂类型

    非常感谢任何帮助。感谢。

0 个答案:

没有答案