添加n个切片器以表示传单中的n个变量

时间:2019-07-08 16:45:08

标签: r-leaflet

我正在尝试在地图上添加许多类别,其中类别1是几天(星期一和星期二)。还有两个类别用于“客户”(工人可以在其中进行-我有20个客户)。第三类是州(50个州)。从代码中,半径显示了允许工人离开其坐标的距离。所以,我想在地图上显示所有这些。

我希望能够选择不同的组合来显示此报道。 因此,假设我希望工作人员在周一的AZ状态下可以执行WALLMART。

“半径”部分效果很好,并且我有“工作天数”类别,但是我也想添加其他类别。我已经使用baseControl和addlayersControl尝试了一些代码,感觉就像我希望将所有内容都放在一个层中一样,但是我不确定。

#Show  days Monday and Tuesday
coverage_Monday <- coverage_data %>%
  filter(Days == "Monday")
coverage_Tuesday <- coverage_data %>%
  filter(Days == 'Tuesday')

#Create label for Monday cases
coverage_Monday$label <- paste("<p>", coverage_Monday$Inspector.Name, "</p>",
                               "<p>", coverage_Monday$Day, " ", coverage_Monday$Region, "</p>",
                               "<p>", coverage_Monday$City, ", ", coverage_Monday$Postcode, "</p>",
                               "<p>", coverage_Monday$State, "</p>",
                               "<p>", coverage_Monday$Manager, "</p>",
                               "<p>", coverage_Monday$Customer, "</p>",
                               "<p>", coverage_Monday$Inspector.Skill, "</p>",
                               "<p>", coverage_Monday$Days, "</p>",
                               "<p>", coverage_Monday$Radius, "</p>",
                               sep="")

#Create label for Tuesday cases
coverage_Tuesday$label <- paste("<p>", coverage_Tuesday$Inspector.Name, "</p>",
                                "<p>", coverage_Tuesday$Day, " ", coverage_Tuesday$Region, "</p>",
                                "<p>", coverage_Tuesday$City, ", ", coverage_Tuesday$Postcode, "</p>",
                                "<p>", coverage_Tuesday$State, "</p>",
                                "<p>", coverage_Tuesday$Manager, "</p>",
                                "<p>", coverage_Tuesday$Customer, "</p>",
                                "<p>", coverage_Tuesday$Inspector.Skill, "</p>",
                                "<p>", coverage_Tuesday$Days, "</p>",
                                "<p>", coverage_Tuesday$Radius, "</p>",
                                sep="")

pal <- colorFactor(
  palette = 'Dark2',
  domain = coverage_data$Inpector.Name
)
#add checkbox control.
# SetView to focus around the US map
scratchmap <- leaflet(coverage_data) %>%
  setView(lng = -95.7129, lat = 34.0902, zoom = 4.499) %>%
  addProviderTiles(providers$Esri.DeLorme) %>%
  addCircles(lng = coverage_Monday$Longitude,
                   lat = coverage_Monday$Latitude,
                   color = ~pal(coverage_Monday$Inspector.Name),
                   weight = 1,
                   radius = coverage_Monday$radius,
                   opacity = 0.05,
                   label = lapply(coverage_Monday$label, HTML),
                   fillOpacity = 0.05,
                   group = "Monday") %>%
  # Add radiuses that do not change as we zoom in or out of the map
  addCircles(lng = coverage_Tuesday$Longitude,
                   lat = coverage_Tuesday$Latitude,
                   color = ~pal(coverage_Tuesday$Inspector.Name),
                   weight = 1,
                   radius = coverage_Tuesday$radius,
                   opacity = 0.05,
                   fillOpacity = 0.05,
                   label = lapply(coverage_Tuesday$label, HTML),
                   group = "Tuesday") %>%
#add layers control with two categories monday and tuesday
addLayersControl(overlayGroups = c("Monday", "Tuesday"),
                options = layersControlOptions(collapsed = FALSE),
                 position = 'bottomright')

0 个答案:

没有答案