Folium map not displaying

后端 未结 4 1686
余生分开走
余生分开走 2020-12-06 10:25

Running on canopy version 1.5.5.3123 With;

Folium Version: 0.1.2, Build: 1

The following code;

import folium  
import pandas as pd
LDN_COORDI         


        
相关标签:
4条回答
  • 2020-12-06 11:18

    _build_map() doesn't exist anymore. The following code worked for me

    import folium
    from IPython.display import display
    LDN_COORDINATES = (51.5074, 0.1278)
    myMap = folium.Map(location=LDN_COORDINATES, zoom_start=12)
    display(myMap)
    
    0 讨论(0)
  • 2020-12-06 11:24

    Considering the above answers, another simple way is to use it with Jupiter Notebook.

    for example (on the Jupiter notebook):

    import folium
    
    london_location = [51.507351, -0.127758]
    
    m = folium.Map(location=london_location, zoom_start=15)
    m
    

    and see the result when calling the 'm'.

    0 讨论(0)
  • 2020-12-06 11:25

    Is there a reason you are using an outdated version of Folium?

    This ipython notebook clarifies some of the differences between 1.2 and 2, and it explains how to put folium maps in iframes. 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, it adds a marker, but one could just take it out):

    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
    

    The docs are up and running, too, http://folium.readthedocs.io/en/latest/

    0 讨论(0)
  • 2020-12-06 11:29

    I've found this tutorial on Folium in iPython Notebooks quite helpful. The raw Folium instance that you've created isn't enough to get iPython to display the map- you need to do a bit more work to get some HTML that iPython can render.

    To display in the iPython notebook, you need to generate the html with the myMap._build_map() method, and then wrap it in an iFrame with styling for iPython.

    import folium  
    from IPython.display import HTML, display
    LDN_COORDINATES = (51.5074, 0.1278) 
    myMap = folium.Map(location=LDN_COORDINATES, zoom_start=12)
    myMap._build_map()
    mapWidth, mapHeight = (400,500) # width and height of the displayed iFrame, in pixels
    srcdoc = myMap.HTML.replace('"', '&quot;')
    embed = HTML('<iframe srcdoc="{}" '
                 'style="width: {}px; height: {}px; display:block; width: 50%; margin: 0 auto; '
                 'border: none"></iframe>'.format(srcdoc, width, height))
    embed
    

    Where by returning embed as the output of the iPython cell, iPython will automatically call display.display() on the returned iFrame. In this context, you should only need to call display() if you're rendering something else afterwards or using this in a loop or a function.

    Also, note that using map as a variable name may might be confused with the .map() method of several classes.

    0 讨论(0)
提交回复
热议问题