我正在尝试在地图上添加许多类别,其中类别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')