You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在dash-leaflet中创建交互式世界地图并正常显示国家边界

实现步骤

按照以下修改即可完成世界国家边界的加载展示:

  • 导入所需依赖,除了dash相关组件外额外引入json库用于解析本地GeoJSON文件:
import json
import dash
import dash_leaflet as dl
from dash import html
  • 读取你下载到本地的世界国家边界GeoJSON文件,替换为你自己的文件实际存储路径:
# 读取本地GeoJSON数据
with open("你的世界国家边界文件路径.geojson", "r", encoding="utf-8") as f:
    country_boundaries = json.load(f)
  • 替换原官方示例中dl.GeoJSON组件的数据源,保留原有的蓝色边界样式配置即可:
app = dash.Dash(__name__)

app.layout = html.Div([
    dl.Map(
        # 调整初始中心点和缩放层级适配世界地图
        center=[25, 10], 
        zoom=2,
        children=[
            dl.TileLayer(),
            dl.GeoJSON(
                data=country_boundaries,
                # 同官方示例的蓝色边界样式
                style={"color": "#0066cc", "weight": 1, "fillOpacity": 0}
            )
        ],
        style={"height": "90vh", "width": "100%"}
    )
])

if __name__ == "__main__":
    app.run_server(debug=True)

异常排查:如果运行后没有显示边界,先确认文件路径填写正确,其次可以将地图zoom层级调到3以上查看,部分精简版GeoJSON数据在低缩放层级下不会渲染细节。


内容的提问来源于stack exchange,提问作者user8849845

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:24:00