7

I'd like to include an anchor tag in a Folium Marker popup so that I can click through to another page.

Here's my code

    def poptext(row):
        return "<a href=\"" + row['Feed']  + "\">" + row['Name'] + "</a>"

    map = folium.Map(location=[52.620,-0.264], zoom_start=14)

    df.apply(lambda row: folium.Marker([row['Lat'], row['Lon']],popup=poptext(row)).add_to(map), axis =1)

    map

Unfortunately the HTML doesnt seem to be evaluated.

8

You should check the Folium version you are using. 0.2.0 has changed how popups are added, as explained in this issue thread: https://github.com/python-visualization/folium/issues/360

Popups now no longer take html automatically, but rather one must pass in a folium.element.IFrame of the html.

This notebook shows the differences in folium 0.2.0: http://nbviewer.jupyter.org/github/bibmartin/folium/blob/issue288/examples/Popups.ipynb

And the code would look something like this (found in the notebook above):

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: the way to create markers, therefore, is no longer simple_marker or circle_marker, but rather folium.Marker or folium.CircleMarker().

The docs have also been (recently?) put up.

2

You can embed arbitrary HTML using folium.Html, with script=True. Here is a minimal example which demonstrates this:

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')

Without script=True, the string passed to folium.Html is escaped and so the HTML markup is visible in the marker popup.

This is documented in the branca examples page. I was using Folium 0.3.0.

  • This is out of date for folium 0.5.0 – Michael K Oct 14 '17 at 16:15
  • @MichaelK, I'm on folium 0.7.0 and it works just fine. – KlausCPH Dec 2 '18 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.