Я пытаюсь добавить много категорий на мою карту, где категория одна для дней (понедельник и вторник). Две другие категории предназначены для клиентов (в которых может работать работник - у меня 20 клиентов). Третья категория для государства (50 штатов). Из кода радиусы показывают расстояние, на которое работнику разрешено преодолевать свои координаты. Итак, я хочу показать все это на моей карте.
Я хочу иметь возможность выбирать различные комбинации, чтобы показать это покрытие.
Итак, скажем, я хочу, чтобы рабочие, в понедельник, в штате А-Я, могли выполнять УОЛМАРТ.
Радиусная часть отлично работает, и у меня есть категория Дней, но я хочу добавить и другие категории. Я попробовал некоторый код с 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')