Saltar al contenido

¿Cómo puedo incluir HTML en una ventana emergente de Folium Marker?

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_()

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *