R 使圆半径对缩放级别作出反应

R 使圆半径对缩放级别作出反应,r,shiny,leaflet,R,Shiny,Leaflet,我想做的很简单:当用户放大或缩小时,我想保持圆的大小不变 library(shiny) library(leaflet) r_colors <- rgb(t(col2rgb(colors()) / 255)) names(r_colors) <- colors() ui <- fluidPage( leafletOutput("mymap"), p(), actionButton("recalc", "New points") ) server <- f

我想做的很简单:当用户放大或缩小时,我想保持圆的大小不变

library(shiny)
library(leaflet)

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

ui <- fluidPage(
  leafletOutput("mymap"),
  p(),
  actionButton("recalc", "New points")
)

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

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

  observe({
    new_zoom <- input$mymap_zoom
    leafletProxy('mymap') %>%
      clearShapes() %>%
      addCircles(data = data.frame(lon = 0, lat = 0), 
                 radius = 100000 / new_zoom)
  })
}

shinyApp(ui, server)
库(闪亮)
图书馆(单张)

r_colors在这种情况下,我认为您最好使用圆形标记:

圆标记与普通圆非常相似(请参见线和形状),不同的是,无论缩放级别如何,它们在屏幕像素中的半径都保持不变