Skip to content

📍 毛主席足迹地图 - 交互式动态展示1893-1976年完整轨迹,时间轴播放+背景音乐+隐藏彩蛋。底部为网友整理的毛泽东年谱,欢迎协作完善数据。星星之火在哪里

License

Notifications You must be signed in to change notification settings

sansan0/mao-map

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📍 跟着教员走遍中国 - 毛主席足迹地图

PC端访问 移动端访问 GitHub Pages

读万卷书,行万里路

本项目通过数据可视化的力量,将毛泽东主席自 1893 年至 1976 年波澜壮阔的一生,浓缩于一张可交互的动态地图之上。让那段恢弘的历史"活"起来,清晰、生动地展现伟人在中国历史洪流中的每一个关键抉择与地理印记。

在线体验:https://sansan0.github.io/mao-map/

💖 星星之火

无论你是发现了一个错误日期,还是想补充一段被遗漏的足迹,你的每一次贡献,都在让历史画卷更加完整。

感谢诸位同志为项目的完善做出的贡献:

每个考据者都可以在自己的考据中留下你对该事件的 comment, 你可以在 issues 中提交,由项目作者进行录入,以后考据的人多了,评论多了,我会做成弹幕在地图上滚动

  "userVerification": [
    // 支持多人协同考据
    {
      "username": "湘江史话", // 考据者署名 (可选)
      "comment": "一个注定将改变中华民族命运的伟人在韶山冲的农家小院中诞生。此时的中国正值内忧外患,列强瓜分,民族危亡之际。这个婴儿的啼哭声,仿佛是历史的回响,预示着一个新时代的到来。从韶山走向天安门,从农家子弟到开国领袖,毛泽东的一生将与中国人民的解放事业紧密相连,书写出波澜壮阔的历史篇章。", // 考据补充或感言 (可选)
      "date": "2025-06-30" // 考据日期 (可选)
    }
  ]

电脑效果

🎯 核心功能

🎬 动态历史

  • 时间轴播放:点击 ▶️ 播放按钮,按时间顺序观看毛主席 83 年的人生轨迹动画
  • 时间定位:拖动底部的时间轴,可以快速定位到特定年份,查看当时的活动

🗺️ 交互式地图

  • 多层级标记:根据访问次数和事件类型智能显示不同样式的地图标记
  • 详情面板:点击地图上任意标记,查看该地点的完整历史事件列表
  • 路径高亮:点击事件列表项可高亮显示对应的移动路径

📊 数据统计

  • 实时统计:动态显示移动次数、访问省市、国际移动等数据
  • 进度追踪:实时显示当前播放进度、年龄、事件序号等信息
  • 可视化图表:直观展示历史轨迹的统计信息

PC 端快捷键

  • 空格键:播放 / 暂停
  • ← / →:前一个 / 后一个事件
  • Home / End

贡献方式

为了让大家更方便地提交准确的校订建议,我在地图中内置了一个小工具:

使用方法

  1. 浏览器打开 在线地图
  2. 拖动底部时间轴到你想要校订或引用的事件位置
  3. 鼠标双击时间轴滑块,即可自动复制该事件的完整 JSON 数据到剪贴板
  4. 粘贴到 GitHub Issues 中,也方便我定位数据问题

方式一:提交"信息卡片" (推荐,无需编程)

发现错误或想补充事件?只需填写我们准备好的模板,然后通过 GitHub Issues 提交。

  1. 选择模板:根据你的目的,复制下面的"校订"或"增补"模板。

    ✍️ 点击展开:修正现有事件模板
    ## 修正现有事件
    
    **定位信息**- 事件日期:1921-07-23
    - 当前显示:参加中共一大
    
    **问题类型**:
    
    - [ ] 日期错误
    - [x] 地点错误
    - [x] 事件描述不准确
    - [ ] 史料来源问题
    
    **问题事件**
    
    - 日期:1921 年 7 月
    - 地点:上海
    - 描述:参加中共一大
    
    **建议修改为**:
    
    - 日期:1921 年 7 月 23 日
    - 地点:上海法租界望志路 106 号(今兴业路 76 号)
    - 描述:出席中国共产党第一次全国代表大会开幕会议。
    
    **史料依据 (最重要!)**:
    《毛泽东年谱(1893-1949)》上卷,中央文献出版社,2013 年 12 月第 2 版,第 86 页。
    (强烈建议附上史料的截图或照片)
    ➕ 点击展开:增补缺失事件模板
    ## 新增历史事件
    
    - **日期**: 1927-09-09
    - **地点**: 湖南省浏阳市
    - **事件简述**: 领导湘赣边界秋收起义
    - **重要性级别**: 🔴 一级事件
    - **事件类型**: 长途移动 <!-- 请从 [出生, 国际移动, 长途移动, 短途移动, 原地活动] 中选一个 -->
    
    **详细描述**:
    毛泽东作为中共中央特派员和前敌委员会书记,在浏阳、文家市等地领导和发动了湘赣边界的秋收起义。这是我党第一次在武装斗争中公开打出自己的旗号——工农革命军。
    
    **史料依据 (最重要!)**:
    《毛泽东传》金冲及主编,中央文献出版社,2016 年修订版,第 150-155 页。
    
    **录入标准自查**:
    
    - [x] 涉及明确的地理移动
    - [x] 具有高度的历史重要性
    - [x] 史料来源可供查证
    
    **你的补充说明或感言 (选填)**:
    秋收起义是探索"农村包围城市"道路的伟大开端。
  2. 提交卡片

    1. 访问项目的 Issues 页面
    2. 点击绿色的 New issue 按钮。
    3. 标题清晰明了,如"修正 1921 年一大地点"或"补充 1927 年秋收起义"。
    4. 内容部分粘贴并填写好的信息卡片。
    5. 点击 Submit new issue 即可。

方式二:直接编辑数据文件

如果你熟悉 JSON 和 Git,欢迎直接修改数据文件并发起 Pull Request。

  1. 所有事件数据都存放在 data/mao_trajectory_events.json
  2. json 中,如果 verification 字段为空,那么就说明缺乏考据(该字段我一开始没想到加) 。
📋 点击展开:数据格式规范与填写指南

JSON 数据结构示例

查看完整数据文件:mao_trajectory_events.json

每一条事件都遵循统一的 JSON 结构,确保数据的一致性:

{
  "date": "1893-12-26", // 事件发生日期
  "age": 0, // 主席当时年龄
  "movementType": "出生",
  "event": "毛泽东出生,字咏芝(后改润之),乳名\"石三伢子\"",
  "coordinates": {
    "start": null,
    "end": {
      "province": "湖南省",
      "city": "湘潭市",
      "district": "韶山市"
    },
    "transit": [] // 途径地点 (可选)
  },
  "verification": "《毛泽东年谱》,中央文献出版社,2002年版,第 1 页", // 史料来源
  "userVerification": [
    // 支持多人协同考据
    {
      "username": "湘江史话", // 考据者署名 (可选)
      "comment": "一个注定将改变中华民族命运的伟人在韶山冲的农家小院中诞生。此时的中国正值内忧外患,列强瓜分,民族危亡之际。这个婴儿的啼哭声,仿佛是历史的回响,预示着一个新时代的到来。从韶山走向天安门,从农家子弟到开国领袖,毛泽东的一生将与中国人民的解放事业紧密相连,书写出波澜壮阔的历史篇章。", // 考据补充或感言 (可选)
      "date": "2025-06-30" // 考据日期 (可选)
    }
  ]
}

字段详细说明

🏷️ movementType: 事件性质分类标准

为了确保地图标记的准确性和一致性,请严格按照以下标准选择事件类型。分类仅基于事件自身startend 坐标:

  • "出生":仅用于毛主席的出生事件

    • 要求:start 必须为 nullend 必须有值,不能有 transit
    • 地图显示:只在 end 坐标显示一个标记,标记为"出生"
  • "国际移动":该事件的起点和终点跨越国界

    • 判断标准:startend 在不同国家,或途径点涉及多个国家
    • 示例:从北京到莫斯科
    • 地图显示:起点标记为"出发",终点标记为"到达",途径点标记为"途径"
  • "长途移动":该事件的起点和终点跨越省份

    • 判断标准:startend 在不同省份,或途径点涉及多个省份
    • 示例:从湖南长沙到北京
    • 地图显示:起点标记为"出发",终点标记为"到达",途径点标记为"途径"
  • "短途移动":该事件在同一省份内的不同地区间移动

    • 判断标准:startend 在同一省份的不同地区
    • 示例:从长沙到韶山
    • 地图显示:起点标记为"出发",终点标记为"到达",途径点标记为"途径"
  • "原地活动":在固定地点的活动,无地理位移

    • 要求:startend 必须完全相同,不能有 transit
    • 示例:在延安主持会议
    • 地图显示:只在该地点显示一个标记,标记为"活动"

🗺️ coordinates: 地理坐标的规范填写

地图显示遵循 "独立事件路径" 的原则:每个事件独立绘制其内部的地理移动轨迹,从 startend,途径 transit 点。事件之间不绘制连接线,避免产生虚假的地理连续性。

坐标字段说明

  1. start(起点)

    • 出生事件:必须为 null
    • 原地活动:必须与 end 完全相同
    • 其他事件:该事件实际的地理起点
    • 重要:应该填写该事件的真实起点,不需要强制等于上一个事件的 end
  2. end(终点)

    • 所有事件都必须有 end 坐标
    • 这是地图上主要标记显示的位置
    • 也是该事件的地理终点
  3. transit(途径点)

    • 仅在该事件的行程中有重要停留时填写
    • 按照时间顺序排列
    • 会在地图上显示为独立的标记点

地图显示逻辑

  • 路径绘制:只绘制每个事件的内部路径(starttransitend
  • 事件间连接:不绘制任何事件与事件之间的连接线
  • 标记显示:所有坐标点(startendtransit)都会显示为可点击的地图标记
  • 标记分类
    • start 坐标标记为"出发"
    • end 坐标标记为"到达"
    • transit 坐标标记为"途径"
    • 出生事件的 end 坐标标记为"出生"
    • 原地活动的坐标标记为"活动"
  • 详情面板:点击任何标记可查看该地点的所有相关事件,按时间顺序显示

路径绘制原则

  • 移动事件:绘制 starttransitend 的路径线
  • 原地活动:不绘制任何路径线,只显示标记
  • 出生事件:不绘制路径线,只显示标记
  • movementType 的分类基于事件自身的 startend,不受前序事件影响

地理精度要求

  • 🎯 优先精确到区/县级:"district": "韶山市"
  • 📍 其次精确到市级:"city": "湘潭市"
  • 🌍 最后精确到省级:"province": "湖南省"
  • 🌐 国外地点:"country": "俄罗斯", "city": "莫斯科"

📝 event: 事件描述

  • 填写要求:用一句话简明扼要地描述发生了什么事,这是事件的核心内容
  • 格式建议:动词开头,突出关键行为和结果
  • 举例"考察湘潭、湘乡、衡山、醴陵、长沙五县农民运动,历时32天"

📚 verification: 史料出处

⚠️ 这是项目最看重的部分! 请务必写清楚你这条信息的来源,方便大家核对。

  • 标准格式《书名》,作者,出版社,出版年份,第X页
  • 网络资源网站名称 文章标题,发布日期,网址
  • 档案资料档案馆名称,档案编号,文件标题
  • 举例"《毛泽东年谱(1893-1949)》上卷,中央文献出版社,2013年版,第1页"

💭 userVerification: 考据与感言

这是一个可以自由发挥的地方,欢迎您:

  • ✍️ 补充说明:写下对这个事件的额外研究心得
  • 📖 查证过程:分享您的史料查证经历
  • 💡 个人感想:抒发对这段历史的思考和感悟
  • 🏷️ 署名纪念:留下您的大名和日期,作为贡献纪念

格式示例

"userVerification": [
  {
    "username": "历史爱好者", // 您的署名
    "comment": "通过查阅多份史料,确认了这一事件的准确性...", // 您的补充或感言
    "date": "2025-01-01" // 考据日期
  }
]
✍️ 点击展开:本地运行或二次开发的步骤
  1. 克隆或下载项目

    # 使用 Git 克隆
    git clone https://github.com/sansan0/mao-map.git
    cd mao-map
    
    # 或者,直接下载并解压 ZIP 包
    # https://github.com/sansan0/mao-map/archive/refs/heads/master.zip
  2. 启动本地服务器

    • 方法 A:使用 Python (需已安装 Python)
      # 在项目根目录运行
      python -m http.server 8000
      # 然后在浏览器访问 http://localhost:8000
    • 方法 B:使用 VS Code & Live Server 插件
      1. 安装代码编辑器 VS Code
      2. 在 VS Code 插件市场安装 Live Server
      3. 在 VS Code 中打开项目文件夹。
      4. index.html 文件上右键,选择 Open with Live Server

📝 贡献指南与数据规范

为保证项目质量,所有贡献都应遵循以下标准。

事件录入原则 (重要性分级)

我们依据事件的历史意义将其分为三级,这决定了事件在历史叙事中的权重。

  • 🔴 一级 (历史主干):构成生平与中国历史叙事主线里程碑式转折点。如:出生、参加中共一大、遵义会议、建立新中国等。
  • 🟡 二级 (关键枝干):对主线起到承上启下、重要铺垫作用的事件。如:发表《湖南农民运动考察报告》、指挥四渡赤水、寻乌调查等。
  • ⚪ 三级 (枝叶细节):丰富历史细节的常规性、补充性事件。如:在延安从杨家岭搬到枣园、常规性会议、短期休养等。
📋 点击展开:详细的分级标准与判断依据

🔴 一级事件 (必录) - 构成历史主干的转折点

  • 人生阶段的根本性转变: 从韶山到东山学堂(首次离开家乡求学)、确立马克思主义信仰等。
  • 革命和国家叙事的关键节点: 领导秋收起义、抵达井冈山、到达延安、发表"论十大关系"等。
  • 核心职务的标志性变动: 当选中华苏维埃共和国主席、在遵义会议上被确立为军事领导核心、当选中华人民共和国主席等。
  • 产生深远国际影响的活动: 首次访问苏联、与尼克松会面等。

🟡 二级事件 (选录) - 承上启下的关键节点

  • 重要的思想理论形成与发表: 在延安文艺座谈会上的讲话、发表《论持久战》、提出"百花齐放、百家争鸣"等。
  • 重要的战役指挥与战略部署: 部署三大战役的具体指挥、决策抗美援朝等。
  • 重要的调查研究与地方视察: 建国后首次视察黄河、南下视察等。
  • 对个人和家庭有重大影响的事件: 与杨开慧结婚;长子毛岸英牺牲等。

三级事件 (可选) - 丰富历史细节的日常活动

  • 常规性工作移动: 建国后在多个住所(如中南海、北戴河、武汉东湖)之间的季节性移动。
  • 一般性会议和接见: 主持某次不产生重大路线变动的政治局常规会议、接见外国普通友好代表团等。
  • 短期的休养或个人活动: 在杭州进行短期休养、在北戴河游泳等。

📞 交流与联系

  • 提交贡献/BUG:请统一通过 GitHub Issues 提交,这是追踪和处理问题最高效的方式。
  • 交流与讨论:欢迎关注公众号 【硅基茶水间】,分享你的想法。

公众号二维码

🌟 项目愿景

"古为今用",希望这个工具能成为大家学习历史、理解历史的得力助手。

📄 开源协议

本项目采用 GPL-3.0 License 协议开源,欢迎一切形式的分享与二次创作。

About

📍 毛主席足迹地图 - 交互式动态展示1893-1976年完整轨迹,时间轴播放+背景音乐+隐藏彩蛋。底部为网友整理的毛泽东年谱,欢迎协作完善数据。星星之火在哪里

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published