mapbridge

MapBridge

在浏览器里直接迁移地图收藏夹:百度地图 ↔ 高德地图。

数据全程留在本地:扩展复用地图站点自身的登录会话读写收藏,无云端服务、无上传、无需任何 API Key

开始

导入完成

当前已验证:百度地图 ↔ 高德地图 的提取与导入。腾讯地图暂不支持(选择器中已隐藏)。

功能特性

工作原理

  1. ISOLATED 内容脚本把扩展桥接到地图页的 MAIN 世界执行器。
  2. 提取:MAIN 执行器捕获站点自身的收藏接口响应,归一化为统一的 CanonicalPlace
  3. 导入:读取目标端已有收藏,结合名称和坐标容差识别重复项;用户确认 POI 匹配后,优先使用目标地图的原生 POI 信息,否则使用自定义坐标地点,通过站点自身的同步接口提交。

所有操作都在你已登录的页面会话内完成。

安装 / 开发

pnpm install
pnpm dev:build     # 开发版 → .output/chrome-mv3-dev(含 DEV 标识与开发工具)

然后在 chrome://extensions加载已解压的扩展程序 选择 .output/chrome-mv3-dev(开发版)或下面构建的生产目录。

生产构建(DEV 标识与 dev-only 功能会被移除):

pnpm build         # 生产版 → .output/chrome-mv3(无 DEV 标识)
pnpm test          # 单元测试
pnpm compile       # 类型检查

注意:开发版和生产版输出到不同目录,请勿混用;之前 dev:build 会覆盖 chrome-mv3 的坑已修复。

使用方法

  1. 打开 popup,选择 来源 → 目标(如 百度地图 → 高德地图)。
  2. 打开来源收藏页(popup 会自动检测已打开的收藏页并显示登录态)。
  3. 提取 → 预览 / 编辑列表 → 导入 → 查看结果报告。
  4. 也可在 popup 顶部切换 导出当前地图从文件导入 模式;导入完成后结果页与设置页”历史任务”均可 撤销
  5. 在地点预览中可按页尝试 POI 搜索匹配,匹配请求会按设置的间隔逐个发送;候选结果可手动选择,也可保留为自定义坐标地点。

项目结构

路径 用途
entrypoints/popup 迁移向导(选择 → 提取 → 预览 → 导入 → 报告)
entrypoints/options 设置、任务历史、适配器状态、开发工具
entrypoints/background 任务编排、消息路由、内容脚本桥接
entrypoints/*-main.content.ts 各地图页的 MAIN 世界执行器
adapters/ 各平台归一化 / 导入载荷构造
core/ 任务状态机、去重、坐标转换
utils/ 桥接协议、消息、存储辅助

设计笔记见 docs/01-architecture.mddocs/04-user-workflow.md(内部文档)。

路线图

许可证

Apache-2.0