以下代码显示了 ISS API 给出的标记位置,但它总是在新选项卡中打开。
import folium
import requests
import webbrowser
import time
# Function to obtain ISS coordinates
def get_iss_position():
url = 'http://api.open-notify.org/iss-now.json'
response = requests.get(url)
data = response.json()
return data['iss_position']['latitude'], data['iss_position']['longitude']
# Create a map using the coordinates provided by the ISS API
m = folium.Map(location=get_iss_position(), zoom_start=4)
# Add a marker to the current location of ISS
marker = folium.Marker(get_iss_position())
marker.add_to(m)
# Update every 5 seconds
while True:
print("getting ISS position")
lat, lon = get_iss_position()
print("Marking position")
marker.location = [lat, lon]
m.save('iss_map.html')
webbrowser.open('iss_map.html', new=2)
print("Waiting 5 seconds")
time.sleep(5)
print("Restarting process")
我想每 5 秒自动刷新一次标签。