gpt4 book ai didi

javascript - iPython 中的 Folium map 不显示 map 。抛出错误 : 'Uncaught ReferenceError: L is not defined'

转载 作者:行者123 更新时间:2023-11-28 07:25:26 25 4
gpt4 key购买 nike

尝试使用 folium leaflet 库在 iPython 中显示基本 map 。最近通过 Anaconda 安装了 iPython,并通过 Pip 安装了 Folium。确认一切都是最新的

在 iPython 中运行此代码

import folium
map = folium.Map(location=[48, -102], zoom_start=3)
map.create_map('map.html')
map

我收到一个空白框。我检查了 html 上的控制台。我收到许多 Failed to load resources: net::ERR_FILE_NOT_FOUND 追溯到 Uncaught ReferenceError: L is not Defined。我检查了 html 文档,发现传单引用如下所示:

    src="//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js">

我认为问题出在相对链接上,但我在 folium 文档中没有找到解决此问题的信息。

谢谢你的帮助。我期待着提前付款。

最佳答案

我找到了这个tutorial on Folium in iPython Notebooks很有帮助。另外,我在这个其他Stackoverflow question上做了详细的回答。这似乎相关。

要在 iPython Notebook 中显示,需要使用 myMap._build_map() 方法生成 html,将其包装在 iframe 中,并将 iFrame 返回给 iPython 进行显示。

以下是适合您情况的示例:

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

请注意,.create_map() 方法会将完整的 map HTML 保存到文件中,而您希望保留 HTML 代码以方便在 iPython 中进行演示 - 这就是我们使用 ._build_map( ) 反而。以 embed 开头的行是奇迹发生的地方 - 我们将 folium 生成的 HTML 内容包装在一个 iframe 中,该 iframe 可以根据需要设置样式,然后作为单元格的输出返回。 IPython 在内部对返回到单元格的结果调用 .display(),因此您应该有一个漂亮的居中 map 。

关于javascript - iPython 中的 Folium map 不显示 map 。抛出错误 : 'Uncaught ReferenceError: L is not defined' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29724512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com