首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在叶片中叠加标签/位置?

如何在叶片中叠加标签/位置?
EN

Stack Overflow用户
提问于 2022-11-10 22:31:23
回答 1查看 21关注 0票数 0

我怎么能把所有这些位置叠加在地图上呢?

有没有一种方法可以缩短代码,使我不必重复每个位置的每一步?

这是我所拥有的5个地点,我希望他们都在一张地图。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-11 03:17:15

代码语言:javascript
复制
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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74396022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档