1
私がやりたいことはかなりシンプルです。ユーザーの拡大または縮小に合わせて円のサイズを一定に保ちたいと思います。円の半径をズームレベルに反応させる
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)
私はこのコードを試しましたが、実際には結果を説明できません。何が起こるかは、ズームインまたはズームアウトするたびに、リーフレットはにを追加します。
なぜですか? ClearShapes()
はこれをしてはならないのですか?また、私が望むものを手に入れるための簡単な方法はありますか?私はyou'deより良い利用circlemarkers考える。この場合