# 地图大全 **Repository Path**: qzqqhy/complete-map-collection ## Basic Information - **Project Name**: 地图大全 - **Description**: 地图大全,古今中外地图 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-13 - **Last Updated**: 2025-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 地图大全 ## 介绍 地图大全是一个集古今中外地图数据的 Web 应用,使用 Flask 框架构建,支持多朝代中国地图的展示、搜索和标记功能。通过本应用,用户可以浏览不同历史时期的中国地图,搜索特定地区,并在地图上添加自定义标记点。 ## 功能特点 - **多朝代地图展示**:支持现代、清朝、明朝、宋朝、唐朝等多个朝代的中国地图 - **地区搜索功能**:可根据关键词搜索特定地区 - **自定义标记**:支持在地图上添加带有名称和颜色的自定义标记点 - **RESTful API**:提供标准化的 API 接口,方便集成和扩展 - **响应式设计**:适配不同屏幕尺寸的设备 ## 软件架构 本项目采用前后端分离的架构设计: - **后端**:基于 Python Flask 框架构建的 Web 服务 - **前端**:使用 HTML、CSS 和 JavaScript 构建用户界面,支持地图交互 - **数据存储**:使用 GeoJSON 格式存储地图地理数据 - **API 设计**:提供 RESTful API 接口,支持地图数据获取、搜索和标记功能 ## 项目结构 ``` complete-map-collection/ ├── app/ # 应用核心模块 │ ├── __init__.py │ └── map_data.py # 地图数据处理模块 ├── data/ # 地图数据存储目录 │ ├── china_current.geojson # 现代中国地图数据 │ ├── china_qing.geojson # 清朝中国地图数据 │ ├── china_ming.geojson # 明朝中国地图数据 │ ├── china_song.geojson # 宋朝中国地图数据 │ └── china_tang.geojson # 唐朝中国地图数据 ├── static/ # 静态资源文件 │ ├── css/ # CSS 样式文件 │ ├── js/ # JavaScript 脚本文件 │ └── templates/ # HTML 模板文件 ├── main.py # 应用入口文件 ├── requirements.txt # 项目依赖文件 ├── README.md # 项目说明文档 └── README.en.md # 英文项目说明文档 ``` ## 安装教程 1. **克隆项目** ```bash git clone https://gitee.com/yourusername/complete-map-collection.git cd complete-map-collection ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **启动服务** ```bash python main.py ``` ## 使用说明 1. **访问应用** 启动服务后,在浏览器中访问 `http://localhost:5000` 即可打开应用 2. **切换地图朝代** 通过界面上的朝代选择器可以切换不同朝代的地图 3. **搜索地区** 在搜索框中输入关键词,可以搜索相关地区 4. **添加标记** 在地图上点击或使用标记功能,可以添加自定义标记点 ## API 接口 ### 获取朝代列表 ``` GET /api/dynasties ``` ### 获取地图数据 ``` GET /api/map/ ``` 参数: - `dynasty`:朝代标识(current, qing, ming, song, tang) ### 搜索地区 ``` GET /api/search/?keyword= ``` 参数: - `dynasty`:朝代标识 - `keyword`:搜索关键词 ### 添加标记 ``` POST /api/marker ``` 请求体: ```json { "lon": 116.397, "lat": 39.907, "name": "标记点名称", "color": "#ff0000" } ``` ## 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 许可证 本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。