我用Jupyter Notebook写了一个小脚本,目标是实时绘制国际空间站的位置。
下面是这个脚本。
import folium
import requests
from time import sleep
#plot a base map
world = folium.Map(location=[0, 0],
tiles='Stamen Terrain',
zoom_start=2, detect_retina=True)
i = 0
while True:
#get the data
response = requests.get("http://api.open-notify.org/iss-now.json")
data = response.json()
# parse the results
lat = data['iss_position']['latitude']
long = data['iss_position']['longitude']
print(lat, long)
#show(lat, long) on the map
folium.Circle(
radius=1000,
location=[lat, long], #use lat, long
popup='International Space Station',
color='red',
fill=False,
).add_to(world)
sleep(5)
world # does not work!
i += 1
问题: 在循环结束时,我想绘制地图,但没有成功。如何在地图上绘制国际空间站的实时位置?有什么建议吗?先谢谢你。
(当我把 world
在while循环之外,它的工作)。)
据我所知,你不能通过Folium的新数据动态更新地图(如 Folium 0.10.1
) .
例如,你应该使用 小册子而不是。