Как в folium сделать маркеры со своими значениями (ценами)?

Рейтинг: 0Ответов: 1Опубликовано: 31.07.2023

Хочу разместить на карте по координатам маркеры, каждый маркер должен отображать определённую стоимость на товар по своему адресу. Как можно сделать примерно такие маркеры как на скриншоте?введите сюда описание изображения

Ответы

▲ 2

Это можно сделать с помощью пользовательских маркеров, используя метод DivIcon:

import folium
from folium.features import DivIcon

m = folium.Map(location=(53.8747,27.4768), zoom_start=16)
locations = [[53.8730, 27.4712, 12.5], [53.8752, 27.4728, 15.4]]

for loc in locations:
    folium.map.Marker(
    location=loc[:2],
    icon=DivIcon(
        icon_size=(60,36),
        icon_anchor=(0,0),
        html=f"""<div style="font-size: 16pt; color: white">
        <g>
        <svg>
        <rect width="60" height="30" fill="blue" opacity=".9" rx="15"/>
        <text x="10" y="20" font-family="Verdana" font-size="16" fill="white">{loc[2]}</text>
        </g>
        </svg></div>"""
        )
    ).add_to(m)

в этом примере в списке locations представлены подсписки с широтой, долготой и содержанием текста для каждой точки. Единственное - как подбирать размеры rect - экспериментируйте сами.

введите сюда описание изображения