微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

R + Shiny +传单:根据缩放级别在地图上汇总值

如何解决R + Shiny +传单:根据缩放级别在地图上汇总值

请考虑文章末尾的小例子。 我只是在地理地图上放了很多标记。 我希望能够做两件事:

  1. 为地图上的每个标记关联一个值(简称为数字)。当我将鼠标悬停在标记上时,该数字应该可见。

  2. 为简单起见,假设我们将值1与每个标记关联。如果根据缩放级别适当地汇总了总数(附加在标记上的各个值的总和),那将是很好的。例如,当我缩小时,应该看到一个值为40的标记,然后逐渐有更多的标记一个相关的值,这些值的总和将始终为40。

有人知道如何实现吗? 谢谢!

谢谢!

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) {

  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)

reprex package(v0.3.0)于2020-09-16创建

解决方法

您将必须自己进行聚合,然后使用不同的组ID添加它。然后,您可以处理在groupOptions上哪个缩放级别上显示哪个组。有关更多信息,请查看this answer

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。