Solución:
Debe verificar la versión de Folium que está utilizando. 0.2.0 ha cambiado la forma en que se agregan las ventanas emergentes, como se explica en este hilo de problemas: https://github.com/python-visualization/folium/issues/360
Las ventanas emergentes ahora ya no toman html automáticamente, sino que se deben pasar en un folium.element.IFrame
del html.
Este cuaderno muestra las diferencias en el folio 0.2.0: http://nbviewer.jupyter.org/github/bibmartin/folium/blob/issue288/examples/Popups.ipynb
Y, el código se vería así (que se encuentra en el cuaderno de arriba):
m = folium.Map([43,-100], zoom_start=4)
html="""
<h1> This is a big popup</h1><br>
With a few lines of code...
<p>
<code>
from numpy import *<br>
exp(-2*pi)
</code>
</p>
"""
iframe = folium.element.IFrame(html=html, width=500, height=300)
popup = folium.Popup(iframe, max_width=2650)
folium.Marker([30,-100], popup=popup).add_to(m)
m
NB: La forma de crear marcadores, por lo tanto, ya no es simple_marker
o circle_marker
, sino más bien folium.Marker
o folium.CircleMarker()
.
Los documentos también se han publicado (¿recientemente?).
Puede incrustar HTML arbitrario usando folium.Html
, con script=True
. Aquí hay un ejemplo mínimo que demuestra esto:
import folium
m = folium.Map([51.5, -0.25], zoom_start=10)
test = folium.Html('<b>Hello world</b>', script=True)
popup = folium.Popup(test, max_width=2650)
folium.RegularPolygonMarker(
location=[51.5, -0.25], popup=popup,
).add_to(m)
m.save('osm.html')
Sin script=True
, la cadena pasó a folium.Html
se escapa y, por lo tanto, el marcado HTML es visible en la ventana emergente del marcador.
Esto está documentado en la página de ejemplos de branca. Estaba usando Folium 0.3.0.
Intente cambiar la ubicación, la URL y el texto emergente que desee.
import folium
f = folium.Figure(width=1000, height=1000)
m=folium.Map([39.067758, -94.573534], zoom_start=25).add_to(f)
pp= folium.Html('<a href="'+ 'give your url here'+'"target="_blank">'+ 'popup text' + '</a>', script=True)
popup = folium.Popup(pp, max_width=2650)
folium.Marker(location=[39.067758, -94.573534], popup=popup).add_to(m)
m=m._repr_html_()