【发布时间】:2020-10-05 22:47:53
【问题描述】:
我在 Folium 中为多边形创建弹出窗口时遇到问题。我有一个世界上所有国家的 GeoJSON 文件,对于每个国家,我想显示一个弹出窗口。但是,我的问题是弹出窗口中需要的信息包含在单独的熊猫数据框中。
我下载了一个包含世界上所有国家/地区here 的 GeoJSON,并将其映射到 Folium,如下所示:
# Create a Map instance
m = folium.Map(location=[40.7, -74.0], tiles = 'cartodbpositron', zoom_start=11, control_scale=True)
## add chloropleth layer
m.choropleth(
geo_data='path-to-geojson-file-i-downloaded',
name='Countries',
)
接下来,我基于 pandas 数据框向我的地图添加了标记,该数据框具有国家坐标以及每个国家/地区的 html 页面作为弹出数据:
# add markers with basic information
fg = folium.FeatureGroup(name='Articles by Country')
for loc,html in zip(countries,countries_htmls):
fg.add_child(folium.Marker(location=loc, popup=html))
m.add_child(fg)
# enable layers to be turned in or out
folium.LayerControl().add_to(m)
点击蓝色小标记会给我正确的弹出窗口,但理想情况下,我希望叶绿素层本身的多边形给我弹出窗口,因为每个国家只需要一个弹出窗口。
有谁知道是否有一种方法可以渲染我的地图,以便标记可以以某种方式连接到 chloropleth geojson 图层,以便每个国家/地区多边形都有一个弹出窗口?示例:
非常感谢任何和所有的帮助!非常感谢。
【问题讨论】:
标签: python leaflet mapping folium