Создание легенды на карте Фолиума
в настоящее время документация по Фолиуму является неполной:https://folium.readthedocs.io/en/latest/
согласно индексу неполных документов легенды и слои поддерживаются или будут поддерживаться. Я потратил некоторое время на поиск примеров в интернете, но пока ничего не нашел. Если кто-нибудь знает, как создать эти вещи, или может указать мне на документ или учебник, я был бы очень благодарен.
3 ответов
попробуйте использовать
feature_group = FeatureGroup(name='Layer1')
feature_group2 = FeatureGroup(name='Layer2')
затем добавьте на карту
map = folium.Map(zoom_start=6)
# coordinates to locate your marker
COORDINATE = [(333,333)] # example coordinate
COORDINATE2 = [(444,444)]
# add marker to your map
folium.Marker(location=COORDINATE).add_to(feature_group)
folium.Marker(location=COORDINATE2).add_to(feature_group2)
map.add_child(feature_group)
map.add_child(feature_group2)
# turn on layer control
map.add_child(folium.map.LayerControl())
У меня была та же проблема, и я использовал этот быстрый взлом в HTML, сгенерированный Folium, чтобы добавить легенду. Это не особенно изящно, но работает. Поскольку мне это было нужно всего несколько раз, я вручную сгенерировал легенду как изображение (legend.png), но я думаю, вы могли бы создать скрипт для автоматического создания легенды, если бы вы делали это часто. Я добавил следующие компоненты в соответствующие разделы HTML-файла, который Фолиум выводит мою карту кому:
<style> #background_img {
position : absolute;
background:url('legend.png');
width : 16.9%;
height: 17.7%;
right: 20px;
bottom: 50px;
z-index: 99;
background-repeat: no-repeat;
background-size: contain;
}
</style>
<div id="background_img" class="backgroundimg" ></div>
вам также нужно будет изменить Z-индекс элемента стиля карты на что-то меньше 99, чтобы легенда была размещена над картой.
Folium теперь имеет способ легко добавить изображение с версией 0.15.
from folium.plugins import FloatImage
image_file = 'image.PNG'
FloatImage(image_file, bottom=0, left=86).add_to(mymap)