Я хочу создать реактивный цвет значка, где значки имеют цветовую кодировку на основе определенной категориальной переменной. Я не могу реализовать реактивность для цвета значка. Моя цель состоит в том, чтобы при фильтрации типа точки воды, скажем, ручного насоса, появлялись только зеленые значки, вместо этого появлялись все цвета значков, как показано на рисунке.
wtr_pt<-reactive(
if(input$waterpoint=="All"){
return(kiosk_data)
}
else{
kiosk_filter<-filter(kiosk_data, Water_point_type==input$waterpoint)
return(kiosk_filter)
}
)
#assign the categorical values icon color
getcolor<-function(kiosk_data){
sapply(kiosk_data$Water_point_type,function(Water_point_type){
if(Water_point_type=="Hand pump"){
"green"
}
else if(Water_point_type=="Mechanized borehole"){
"orange"
}
else if(Water_point_type=="Standpipe (piped system)"){
"red"
}
})
}
ikon2<-makeAwesomeIcon(icon = "home",
markerColor = getcolor(kiosk_data),
library = "ion"
)
output$maps<-renderLeaflet(
leaflet(wtr_pt()) %>%
setView(lng= -2.3833318 ,lat=6.9833294,zoom = 10) %>%
addTiles() %>%
addAwesomeMarkers(
icon = ikon2,
lat = ~latitude,
lng = ~longitude)
)