骨贴图未显示

map*_*dom 10 python canopy folium

在1.5.5.3123版机盖上运行

Folium版本:0.1.2,内部版本:1

下面的代码;

import folium  
import pandas as pd
LDN_COORDINATES = (51.5074, 0.1278)  
from IPython.display import HTML
import shapefile
#create empty map zoomed in on London
LDN_COORDINATES = (51.5074, 0.1278) 
map = folium.Map(location=LDN_COORDINATES, zoom_start=12)
display(map)  
Run Code Online (Sandbox Code Playgroud)

退货

<folium.folium.Map at 0x10c01ae10>
Run Code Online (Sandbox Code Playgroud)

但没有别的。

如何在ipython笔记本中显示地图?

Pet*_*ter 17

您还可以将地图另存为 html,然后使用网络浏览器打开。

import folium
import webbrowser


class Map:
    def __init__(self, center, zoom_start):
        self.center = center
        self.zoom_start = zoom_start
    
    def showMap(self):
        #Create the map
        my_map = folium.Map(location = self.center, zoom_start = self.zoom_start)

        #Display the map
        my_map.save("map.html")
        webbrowser.open("map.html")


#Define coordinates of where we want to center our map
coords = [51.5074, 0.1278]
map = Map(center = coords, zoom_start = 13)
map.showMap()
Run Code Online (Sandbox Code Playgroud)


nov*_*imo 6

考虑到上述答案,另一种简单的方法是将其与Jupiter Notebook一起使用。

例如(在 Jupiter 笔记本上):

import folium

london_location = [51.507351, -0.127758]

m = folium.Map(location=london_location, zoom_start=15)
m
Run Code Online (Sandbox Code Playgroud)

并在调用“m”时查看结果。

  • 这个问题恰恰不在 Jupiter Notebook 中 (8认同)

She*_*nka 5

_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)
Run Code Online (Sandbox Code Playgroud)

  • 在 MacOS 上的 IPython 中运行它,我得到 `&lt;folium.folium.Map at 0x10391f850&gt;` (2认同)

emu*_*ing 2

我发现这个关于 iPython Notebooks 中的 Folium 的教程非常有帮助。您创建的原始 Folium 实例不足以让 iPython 显示地图 - 您需要做更多工作来获取 iPython 可以渲染的一些 HTML。

要在 iPython 笔记本中显示,您需要使用 myMap._build_map() 方法生成 html,然后将其包装在具有 iPython 样式的 iFrame 中。

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
Run Code Online (Sandbox Code Playgroud)

通过返回embediPython 单元的输出,iPython 将自动调用display.display()返回的 iFrame。display()在这种情况下,您只需要在之后渲染其他内容或在循环或函数中使用它时才需要调用。

另请注意,用作map变量名可能会与多个类的 .map() 方法混淆。

  • myMap._build_map() _build_map() 不再退出。他们把它从叶子里拿出来。如果没有_build_map(),我们该如何解决这个问题呢? (15认同)