Как я могу установить фильтр по месяцам на карте folium (проект Django)

Я использую folium и вижу перед собой карту folium с маркерами, я использую флажок, но поскольку у меня есть два месяца, я хочу добавить переключатель и выбрать только один месяц. Я хочу, чтобы были фильтры по месяцам, а также по статусам, но с разными надписями. Я использовал chatgpt, но это мне не помогло. Я также перепробовал много других способов.

Что вы предлагаете в качестве альтернативы?

Я пробовал это, но это не работает:

GroupedLayerControl(
     groups={'groups1': [fg1, fg2]},
     collapsed=False,
 ).add_to(m)

Мой код:

LayerControl в Folium поддерживает только флажки. Если вы хотите, чтобы переключатели работали (активны только один месяц), вам нужен GroupedLayerControl с exclusive_groups.
например:

from folium.plugins import GroupedLayerControl

jan = folium.FeatureGroup(name="January")
feb = folium.FeatureGroup(name="February")

jan.add_to(m)
feb.add_to(m)

GroupedLayerControl(
    groups={"Month": [jan, feb], "Status": [critical, warning, moderate]},
    exclusive_groups=["Month"],
    collapsed=False,
).add_to(m)

Таким образом, месяцы действуют как переключатели, в то время как статусы остаются флажками.
Если вам нужна более продвинутая фильтрация, рассмотрите возможность использования фильтров GeoJSON + handling в виде простой брошюры на интерфейсе.

Вернуться на верх