# RouteMaster **Repository Path**: buera/route-master ## Basic Information - **Project Name**: RouteMaster - **Description**: 根据输入的地点生成路线轨迹图,支持驾车、骑行、步行轨迹,同步支持导入轨迹文件进行绘制 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-27 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 路线图海报生成工具(微信小程序) 本项目是纯前端微信小程序工具:输入多个地点,调用地图 Web API 获取路线并生成可导出的线路图 PNG。 ## 功能特性 - **多地点路线规划**:支持添加多个地点,生成完整路线图 - **多种出行方式**:驾车、骑行、步行、打卡模式 - **轨迹文件导入**:支持从微信聊天中选择户外 App 导出的轨迹文件(*.kml / *.gpx / *.kmz*),直接按坐标点绘制折线 - **丰富的主题样式**:内置多种画布主题可选 - **灵活的标注策略**:支持圆点、地点名、总里程、标题、水印等标注开关 - **高清 PNG 导出**:自动高清导出并保存到相册 - **本地历史记录**:保存/加载/删除历史行程项目,最多保留 30 条 - **草稿自动保存**:页面隐藏/退出时自动保存编辑状态 ## 切换到高德地图(AMap) 1. 获取 **高德 Web API Key(Web服务)** 2. 配置 Key(二选一): - 推荐:创建 `utils/config.local.js`(不会被 Git 跟踪)写入真实 Key - 或:直接修改 `utils/config.js`(不推荐,容易泄露 Key) 3. 在微信小程序后台配置域名: - request 合法域名:`https://restapi.amap.com` - downloadFile 合法域名:`https://restapi.amap.com` ## 权限说明 - `scope.userLocation`:用于“从地图添加/搜索并选择地点” - `scope.writePhotosAlbum`:用于“保存到相册” ## 使用方法 ### 添加地点 - “从地图添加”:在地图上选择地点 - “批量导入”:粘贴文本,每行一个地点 ### 配置选项 - 选择出行方式(驾车/骑行/步行/打卡) - 选择画布主题和比例 - 配置标注策略(全部/起终点/TopN/每隔N) ### 生成与导出 - 点击底部按钮生成路线图或打卡图 - 或使用“轨迹文件绘制”导入户外轨迹文件 - 点击“保存到相册”导出 PNG ## 技术特点 - 采用 Canvas 2D 新版 API(``) - 内置 RDP 路径简化算法与自动缩放居中 - API 请求内置节流队列(默认间隔 600ms),避免 QPS 限制 - 驾车模式自动优化:地点 ≤ 16 时走单次请求,超出自动切换逐段规划 - 地点上限 80 个,确保真机性能稳定 - PNG 导出自动适配倍率,避免内存问题 ## 内置示例 首页的“示例行程”按钮加载内置固定数据。如需自定义示例,可参考 `utils/builtinSample.js` 和 `mock/export-sample-from-history.js`。 ## 项目结构 ``` ├── pages/ │ ├── index/ # 主页面(路线规划、生成、导出) │ ├── works/ # 历史作品列表 │ └── me/ # 个人中心 ├── utils/ │ ├── amap.js # 高德地图 API 封装 │ ├── drawRoute.js # 路线绘制核心逻辑 │ ├── parseTrack.js # KML/GPX 轨迹解析 │ ├── rdp.js # RDP 路径简化算法 │ └── themes.js # 主题样式配置 ├── mock/ # 开发辅助脚本 └── assets/ # 静态资源 ``` ## License MIT License