我想知道是否有可能DivIcon
具有动态大小。
背景:在我的地图上,将鼠标悬停在一个国家/地区上会触发带有该国家/地区名称的工具提示。我也有几个DivIcons
,代码如下:
folium.Marker(
location=[lat, lon],
icon=folium.DivIcon(
html='''
<div style="background-color: red; display: inline-block;">
<span>
{region_name}:
<br />{region_info}
</span>
</div>
''',
icon_size=(100, 100),
icon_anchor=(0, 0),
)
).add_to(map)
由于region_name
s 和region_info
s 的变化,内容的宽度在 50 到 90 像素之间变化。我希望我的文本显示在两行上并div
适合其内容:display: inline-block
html 中的属性允许我这样做,即使我icon_size
的内容是不变的。
但问题是DivIcon
影响工具提示的大小:我可以有一个包含内容的 70px 宽的块,但它旁边有一个 30px 的区域,它不会显示为块,但仍算作该块。因此,如果我将鼠标悬停在可见块之外,而不是出现带有某个国家/地区名称的工具提示,则不会发生任何事情。当该区域涵盖一堆小国家时,这尤其成问题。
我想要发生的是DivIcon
适合其中的html,或者具有某种动态行为。我试过做icon_size=(10, 10)
或删除icon_size
,但块只是缩小以适应内容中最长的单词。我试图遍历folium.DivIcon
继承树(branca.MacroElement
,branca.Figure
等)的代码,但无法控制这种行为。
欢迎任何建议。