Выбор в selectInput должен отображаться на карте листовки - PullRequest
0 голосов
/ 28 июня 2018

Я создаю блестящее приложение, в котором пользователь может видеть корабли различных типов, выбирая тип судна из selectInput(). В зависимости от выбора, суда фильтруются и отображаются на листовой карте. Тем не менее, варианты в selectInput в настоящее время появляются под листовкой карты, как показано здесь: enter image description here

Есть ли какой-нибудь способ убедиться, что выборы не скрыты под элементами управления на листовой карте. Я не хочу перемещать местоположение selectInput, поскольку рядом с ним ожидаются другие фильтры.

1 Ответ

0 голосов
/ 28 июня 2018

Изменить z-индекс выпадающего элемента, добавив эту строку в ui:

tags$head(tags$style('.selectize-dropdown {z-index: 10000}'))

Используя пример здесь , рабочий код будет выглядеть так:

library(shiny)
library(leaflet)

r_colors <- rgb(t(col2rgb(colors()) / 255))
names(r_colors) <- colors()

ui <- fluidPage(
  tags$head(tags$style('.selectize-dropdown {z-index: 10000}')),
  selectInput("select", "Select", choices = c("A", "B")),
  leafletOutput("mymap"),
  p(),
  actionButton("recalc", "New points")
)

server <- function(input, output, session) {

  points <- eventReactive(input$recalc, {
    cbind(rnorm(40) * 2 + 13, rnorm(40) + 48)
  }, ignoreNULL = FALSE)

  output$mymap <- renderLeaflet({
    leaflet() %>%
      addProviderTiles(providers$Stamen.TonerLite,
                       options = providerTileOptions(noWrap = TRUE)
      ) %>%
      addMarkers(data = points())
  })
}

shinyApp(ui, server)
...