Добавление n слайсеров для представления n переменных в листовке - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь добавить много категорий на мою карту, где категория одна для дней (понедельник и вторник). Две другие категории предназначены для клиентов (в которых может работать работник - у меня 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')
...