【问题标题】:How can I make an interactive world map in dash-leaflet?如何在 dash-leaflet 中制作交互式世界地图?
【发布时间】:2021-11-07 12:24:53
【问题描述】:
我正在尝试从 dash-leaflet 文档中复制 this example,但适用于世界国家而不是美国各州。但是,当我在机器上运行文档中的代码时,在输出视觉效果中看不到蓝色状态边框。
我认为这是因为我在本地没有正确的 geojson 数据,所以我从 here 下载了一些国家边界 GeoJSON 数据,但我不清楚如何获取 dl.GeoJSON 函数来使用该数据.如何以与链接示例中各州相同的方式在世界地图上显示国家边界?
【问题讨论】:
标签:
plotly-dash
dash-leaflet
【解决方案1】:
您应该将GeoJSON 组件的url 属性设置为指向您想要可视化的数据。对于链接中显示的所有国家/地区,代码将类似于
import dash_leaflet as dl
from dash import Dash
# An url pointing to the data that you want to show.
url = "https://pkgstore.datahub.io/core/geo-countries/countries/archive/23f420f929e0e09c39d916b8aaa166fb/countries.geojson"
# Create example app.
app = Dash()
app.layout = dl.Map(children=[dl.TileLayer(), dl.GeoJSON(url=url)],
style={'width': '100%', 'height': '50vh', 'margin': "auto", "display": "block"})
if __name__ == '__main__':
app.run_server()