厌倦了地图API的各种限制?我做了个开源路书工具,离线也能玩!

嗨,大家好,我是 chenxuan。作为一个热爱旅游的开发者,我一直在寻找一款称手的路书规划工具,但市面上的产品总有些不尽如人意的地方:要么需要繁琐的API Key申请,要么在网络不佳时无法使用,要么就是担心自己的行程数据隐私。

于是,我决定自己动手,RoadbookMaker 由此诞生。它是一个完全免费、无需注册、无需任何API Key、甚至可以完全离线使用的路书规划工具。最重要的是,它完全开源。

项目与在线体验地址:


核心优势:简单,但强大

在深入了解如何使用前,先快速概览一下 RoadbookMaker 最核心的几个优势:

  • 🚀 真正的零门槛

    • 无需API Key: 无需注册任何地图厂商的开发者账号,免去申请和配置Key的烦恼。
    • 无需注册登录: 没有账户体系,打开即用。
    • 完全离线可用: 核心功能在断网时依旧可用,所有数据默认安全地存储在你的浏览器本地。
  • 📱 极致的用户体验

    • 手机端完美适配: 响应式设计,在手机上也能获得流畅的规划体验。
    • 一键集成 :无缝跳转至导航 (百度、高德、Google)、携程订票Google酒店小红书攻略,实现从规划到出行的一站式服务。
    • 快捷键支持 : 提供 A 添加、C 连接、D 删除等全键盘快捷键,大幅提升规划效率。
  • 🏠 便捷的自托管

    • Docker一键部署: 提供 Docker 镜像,一条命令就能在自己的服务器或NAS上拥有它。
    • 数据私有:自托管意味着数据完全由你掌控,隐私安全感拉满。

手把手教你用 RoadbookMaker 规划一次旅行

下面,我们通过一个实例,看看用它规划一次"周末城市漫步"有多简单。

第一步:添加你的足迹

打开网站,界面就是一张简洁的地图。你可以通过顶部的搜索框寻找地点,或者直接在地图上进行操作。

  • 添加标记点 :点击顶部的 "添加标记点" 按钮,或直接按快捷键 A,鼠标会变成一个十字准星。在地图上你感兴趣的位置点击一下,一个标记点就添加好了。

第二步:连接成线,规划路线

当你在地图上标记了几个点后(比如咖啡馆、书店、公园),就可以将它们连接起来形成路线。

  • 连接标记点 :点击"连接标记点"按钮或按 c,在弹出的窗口中选择起始点和目标点,并选择一种交通方式,例如"步行"🚶。一条代表路线的连接线就生成了。

第三步:丰富你的行程细节

现在,路书已经有了基本的框架,我们可以为它填充更多细节。

  • 编辑标记点:单击任意一个标记点,右侧会滑出详情面板。在这里,你可以:

    • 修改名称,设置到达和离开的时间
    • 为它更换一个醒目的图标(支持数字、Emoji或自定义文字)。
    • 通过 "去小红书搜一搜" 链接,直接探索这个地点的周边玩法。
    • 通过 "Google酒店搜索" 快速查找附近的住宿。
  • 编辑连接线:同样,单击连接线,也可以在详情面板中:

    • 设置这段路程的耗时
    • 一键跳转到百度/高德/Google地图进行导航。
    • 如果交通方式是"火车"🚄或"飞机"✈️,还会出现携程订票的快捷链接。

第四步:分享与备份你的路书

规划完成后,你可以轻松地将成果分享给朋友或进行备份。

  • 导出HTML :这是 RoadbookMaker 的一个特色功能。它能生成一个独立的HTML文件,这个文件内置了所有地图数据和交互功能。你可以把这个文件发给任何人,对方在任何设备上用浏览器打开,就能看到和你一模一样的路书,无需安装任何东西,当然导出的html路书也可重新导入。
  • 导出JSON:如果你想在其他设备上继续编辑,可以导出为JSON文件,之后再通过"导入路书"功能恢复。

背后的技术思考

为了实现上述流畅且零门槛的体验,我在技术上做了一些选型和实现。

  • 前端 (Vanilla JS + Leaflet.js) : 前端选择了原生JavaScript,配合强大的开源地图库 Leaflet.js。这样做的好处是极致的轻量化,无需任何构建步骤,保证了快速加载和响应,也为完全离线使用打下了基础。

  • 后端 (Go + Gin): 后端采用Go语言开发,主要为了实现高性能的API服务和极简的部署。Go可以将整个应用编译成一个无依赖的二进制文件,这使得Docker镜像可以做到非常小。

  • "无需API Key"的秘密 : 后端的一个核心功能是作为API代理。它将前端发来的搜索请求,代为请求百度、天地图等服务,并处理好坐标系转换(例如国内的GCJ-02火星坐标系),最后将干净、统一的数据返回给前端。这样就巧妙地绕开了前端直接调用地图API会遇到的Key暴露和跨域问题。

写在最后

RoadbookMaker 是我利用业余时间,从解决自身痛点出发,逐步打磨而成的项目。它不追求大而全,而是专注于将"路线规划"这一核心体验做到简单、纯粹、不受限制。

如果你觉得这个项目对你有帮助,或者你也认同它的理念,请在 GitHub 上给我一个 Star ⭐!你的支持是我持续更新的最大动力!

再次附上地址,欢迎大家体验和贡献!

相关推荐
C++ 老炮儿的技术栈16 小时前
如何利用 OpenCV 将图像显示在对话框窗口上
c语言·c++·人工智能·qt·opencv·计算机视觉·github
奥利奥夹心脆芙18 小时前
选型与实战:Fluentd 全维对比与指标管道的 AWS ECS 落地
github
Hommy8818 小时前
【开源剪映小助手】技术栈概览
开源·github·剪映小助手·视频剪辑自动化
梦梦代码精18 小时前
多商户电商系统二次开发真实体验:真开源与伪开源的差距
windows·docker·开源·github
晓说前端20 小时前
本地项目如何上传到远程仓库?(以Gitee为例,附GitHub说明)
gitee·github
右耳朵猫AI21 小时前
GitHub周趋势2026W21 | 隐身Chromium、CLI-Anything、Orca ADE、Cursor官方插件
github
下班走回家1 天前
AI 编程助手实测对比:GitHub Copilot vs Cursor vs Codeium
人工智能·github·copilot
Soari1 天前
GitHub 开源项目解析:rk‑llama.cpp —— 基于 llama.cpp 的 Rockchip NPU 加速本地推理引擎
开源·github·llama·llm 推理·npu 本地模型推理·加速 c/c++ 开源项目
Hommy881 天前
【开源剪映小助手】核心功能特性
开源·github·视频剪辑自动化·剪映api