基于 NSRingo/MapKit 的自建 Cloudflare Worker,仅用于 Surge URL Rewrite 版本。保留原项目 Apache-2.0 授权与作者署名。
两个模块使用同一个 Worker,但选择不同的固定配置。请勿同时启用,也不要与其他 MapKit 模块同时启用。
- 使用 Apple 完整国际资源清单作为外壳,保留 iOS 的 3D 卫星、Flyover、地球和 Look Around 资源。
- 只有中国大陆范围内、缩放到 12 级及以上的普通地图、POI、道路、建筑和实时路况使用 CN/AutoNavi 数据。
- 中国大陆地点调度、导航/ETA 和定位偏移使用配套的 AutoNavi 服务。
- 补齐 AutoNavi 车辆限行规则资源,并让大陆配置继承全局导航能力,避免选中任意车辆后都误报限行路线不可用。
- 全球 2D/3D 卫星固定使用 Apple 国际资源。
- 低于 12 级的所有地图图层、港澳台和中国大陆以外地区均固定使用 Apple 国际资源,避免低缩放出现中国区行政区外壳。
对应模块:modules/iRingo.MapKit.Rewrite.sgmodule。
- 强制请求 Apple
TW国际资源清单,不依赖设备当时发出的country_code。 - 普通地图、POI、道路、实时路况、导航/ETA、2D/3D 卫星、Flyover 和 Look Around 均保留 Apple 国际版。
- 不合并任何 CN 图层、CN 数据集或 AutoNavi URL,避免台湾再次落入高德版。
对应模块:modules/iRingo.MapKit.Taiwan.International.sgmodule,Worker 路由前缀为 /tw/。
旧的 iRingo.MapKit.HMT.International.sgmodule 和 /hmt/ 路由保留为兼容别名,但现在同样只提供台湾国际版。
大陆混合版使用 12 级 Web Mercator 空间掩膜限制高德瓦片,只允许中国大陆详细视图命中;香港、澳门、台湾以及低缩放视图继续命中完整的 Apple 国际瓦片。独立台湾模块仍保留,适合需要连导航、实时路况和服务端点也全部强制为台湾国际版的场景。
需要 Node.js 20+ 和 Cloudflare 账号。
PUPPETEER_SKIP_DOWNLOAD=true npm ci
npm test
npx wrangler login
npm run deploy:workerswrangler.workers.jsonc 声明了名为 Maps 的 KV 绑定。模块中的 endpoint 只填 Worker 主机名,不要包含 https:// 或路径。
按使用场景只导入一个模块,然后启用模块和 MITM。切换或更新后,在 Surge 中重新载入模块,强制退出地图 App;iOS 27 若仍使用旧清单,重启设备后再打开地图。
Worker 将三条配置请求转发到 Apple 官方上游并修改返回的 plist/protobuf。KV 仅缓存 Apple Maps 资源清单,不包含账号密码;项目不含凭据、分析统计或第三方数据上报。