我怎么能把所有这些位置叠加在地图上呢?
有没有一种方法可以缩短代码,使我不必重复每个位置的每一步?
这是我所拥有的5个地点,我希望他们都在一张地图。
NASA_coordinate = [29.559684888503615, -95.0830971930759]
CCAFS_LC_coordinate = [28.562302, -80.577356]
CCAFS_SLC_coordinate = [28.563197, -80.576820]
KSC_LC_coordinate = [28.573255, -80.646895]
VAFB_SLC_coordinate = [34.632834, -120.610745]
NASA_map = folium.Map(location=NASA_coordinate, zoom_start=5)
CCAFS_LC_map = folium.Map(location=CCAFS_LC_coordinate, zoom_start=5)
CCAFS_SLC_map = folium.Map(location=CCAFS_SLC_coordinate, zoom_start=5)
KSC_LC_map = folium.Map(location=KSC_LC_coordinate, zoom_start=5)
VAFB_SLC_map = folium.Map(location=VAFB_SLC_coordinate, zoom_start=5)
NASA_circle = folium.Circle(NASA_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('NASA Johnson Space Center'))
NASA_marker = folium.map.Marker(NASA_coordinate, icon=DivIcon(icon_size=(20,20), icon_anchor=(0,0), html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % 'NASA JSC'))
NASA_map.add_child(NASA_circle)
NASA_map.add_child(NASA_marker)
CCAFS_LC_circle = folium.Circle(CCAFS_LC_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('CCAFS LC-40'))
CCAFS_LC_marker = folium.map.Marker(CCAFS_LC_coordinate, icon=DivIcon(icon_size=(20,20), icon_anchor=(0,0), html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % 'CCAFS LC-40'))
CCAFS_LC_map.add_child(CCAFS_LC_circle)
CCAFS_LC_map.add_child(CCAFS_LC_marker)
CCAFS_SLC_circle = folium.Circle(CCAFS_SLC_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('CCAFS SLC-40'))
CCAFS_SLC_marker = folium.map.Marker(CCAFS_SLC_coordinate, icon=DivIcon(icon_size=(20,20), icon_anchor=(0,0), html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % 'CCAFS SLC-40'))
CCAFS_SLC_map.add_child(CCAFS_SLC_circle)
CCAFS_SLC_map.add_child(CCAFS_SLC_marker)
KSC_LC_circle = folium.Circle(KSC_LC_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('KSC LC-39A'))
KSC_LC_marker = folium.map.Marker(KSC_LC_coordinate, icon=DivIcon(icon_size=(20,20), icon_anchor=(0,0), html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % 'KSC LC-39A'))
KSC_LC_map.add_child(KSC_LC_circle)
KSC_LC_map.add_child(KSC_LC_marker)
VAFB_SLC_circle = folium.Circle(VAFB_SLC_coordinate, radius=1000, color='#d35400', fill=True).add_child(folium.Popup('VAFB SLC-4E'))
VAFB_SLC_marker = folium.map.Marker(VAFB_SLC_coordinate, icon=DivIcon(icon_size=(20,20), icon_anchor=(0,0), html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % 'VAFB SLC-4E'))
VAFB_SLC_map.add_child(VAFB_SLC_circle)
VAFB_SLC_map.add_child(VAFB_SLC_marker)发布于 2022-11-11 03:17:15
import folium
from folium.features import DivIcon
import pandas as pd
NASA_coordinate = [29.559684888503615, -95.0830971930759]
CCAFS_LC_coordinate = [28.562302, -80.577356]
CCAFS_SLC_coordinate = [28.563197, -80.576820]
KSC_LC_coordinate = [28.573255, -80.646895]
VAFB_SLC_coordinate = [34.632834, -120.610745]
df = pd.DataFrame({'name': ['NASA','CCAFS_LC','CCAFS_SLC','KSC_LC','VAFB_SLC'],
'lon': [NASA_coordinate[0],CCAFS_LC_coordinate[0],CCAFS_SLC_coordinate[0],KSC_LC_coordinate[0],VAFB_SLC_coordinate[0]],
'lat': [NASA_coordinate[1],CCAFS_LC_coordinate[1],CCAFS_SLC_coordinate[1],KSC_LC_coordinate[1],VAFB_SLC_coordinate[1]],
})
m = folium.Map(location=[df['lon'].mean(), df['lat'].mean()], zoom_start=4)
for row in df.itertuples():
folium.Marker(
location=[row.lon, row.lat],
popup=folium.Popup(row.name),
icon=DivIcon(
icon_size=(20,20),
icon_anchor=(0,0),
html='<div style="font-size: 12; color:#d35400;"><b>%s</b></div>' % row.name),
).add_to(m)
folium.Circle([row.lon, row.lat],
radius=1000,
color='#d35400', fill=True).add_to(m)
m

https://stackoverflow.com/questions/74396022
复制相似问题