Создание легенды на карте Фолиума

в настоящее время документация по Фолиуму является неполной: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)