APRSlocus 累计转发报文 509,260

APRSlocus 2.0TOUCH SKY

APRS 定位追踪 与 地图

一个业余无线电爱好者用的 APRS 客户端 —— 在本机运行的工具。
不提供、也不预置任何服务器地址:要联网请自行填写 APRS-IS 服务器, 或改用蓝牙 TNC / 声卡音频 / Icom 电台直连。

上面那个数字,是全世界 APRS 台站累计转发过的报文总量 —— 电波穿过夜空,最后都落在这颗星球上,下一格等你来补。

APRSlocus 2.0 已发布 2.0 已发布 · 立即下载 →

APRS-IS · TNC · 音频 · PKWDWPL 四种来源 Android / Windows
公告 · Announcement

📡 APRSNETCN OA · 周六空中签到

本周六,向轮值呼号发一条报文APRSNETCN OA · test round

APRSNET.CN 每周六办一次空中签到。北京时间 10 月 17 日 00:00 到 23:59,把报文发给当周的轮值呼号 BG7LZQ-3,收到 ACK 就算签到,网络和射频都算。

APRSNETCN OA 是 APRSNET.CN 发起的 APRS 报文签到活动。按北京时间的周六算,一整天都能签到。OA 是 On Air 的缩写。

每周有一个轮值台。报文发给它,它回一条 ACK,你就上了当天的签到表。轮值台每周换一个,呼号也跟着换。

不用报名,也不用到场。

📡 时间与轮值

  • 北京时间 2026 年 10 月 17 日(周六)00:00–23:59
  • 同一段时间的 UTC:10 月 16 日 16:00 到 10 月 17 日 15:59
  • 本周轮值呼号是 BG7LZQ-3

📮 怎么参加

报文的收件人填 BG7LZQ-3。

先发 CQ CNNET BG7XXX OL62,把呼号和网格换成你自己的。收到轮值台的 ACK 之后,再回一条 U CNNET。

也可以直接发 CNNET BG7XXX OL62,省掉 CQ 那一步。

网格写 4 位或 6 位都认,例如 OL62、OL62AA。忘了写网格的那一条,轮值台会回一句提示,照着补发一次就行。

有话想捎给轮值台,写在网格后面。那句话会跟着你的呼号出现在当天的签到表里。

网络进来的和射频进来的都算,射频优先。射频进来的那一条,会记下经过的中继。

需要合法呼号与执照,也请遵守当地的法规。

📋 当天能看到什么

轮值台收到报文就回一条 ACK。

你的呼号随后出现在活动页的签到表里,网格和到台时间跟在旁边。

签到表和网格图当天就能下载。

🙋 关于这一轮

这是第一轮,以跑通为主,流程还会调整。活动页上写的是最新的。

测试轮次,不计分,没有排行榜,也不得用于商业用途。

没通上也没关系,下周六还有一轮。

在 APRSLocus 里打开「消息」页,把收件人填成轮值呼号就能发。

当天的名单在活动页上。打开活动页

✅ 清零通道已恢复

Qingling(清零)渠道上误发的 2.2.0 已经下架,通道恢复正常。

现在检查更新会拿到最新正式版 2.1.6。之前装过 2.2.0 的话,请先卸载 2.2.0,再安装 2.1.6。

下载 2.1.6

🥚 2.1.0 的一份彩蛋:点一下,那颗星球会转过身来

彩蛋就藏在「关于」页 —— 那个你大概每天都会路过一次的地方。

封面那颗一直在转的星,不是一张画。轻轻点它一下:它会抖一抖,转过身去,然后带你落进一页故事里。那里也有一颗星球在转,有一个数字一直在往上走;有守着电波的人,也有把这件事一起做出来的人。

那一页里有声音,记得开着音响听。不用长按,也不用等五秒 —— 点一下,故事就来了。想反悔也来得及:再点一下,它翻回正面,故事也就不打开了。

剩下的,请你自己去看。

📮 想听听你的声音

APRSLocus 已经陪 620+ 位用户走过一段路。下一步往哪儿走,我们想听你说:哪里别扭、还缺什么、最该先修的是哪一个。

点击进入调查问卷

💬 官方 QQ 群 925025834

有问题、有想法,或者只是想说一句「收到了」,都欢迎进来坐坐。

点击加入 925025834

🎵 送你一首歌:启航的歌

那颗星球还在转,那个数字还在往上走。
谢谢每一个还在守听的人。

APRSLocus 开发团队

2026 年 10 月

2.0 界面 · 渲染预览

全新 UI 2.0:地图打底、悬浮胶囊导航、可拖拽面板。 查看完整宣传页 →

APRSlocus 2.0 界面

地图打底 · 万物悬浮

  • 地图常驻整屏,切页不销毁
  • 底部悬浮胶囊导航,滑动指示胶囊
  • 可拖拽内容面板,44px 把手随便抓
  • 右上悬浮胶囊:天气 / 连接状态 / 定位
  • 磨砂玻璃 · 云母材质,深浅主题随心换
查看 2.0 宣传页 →

它能干什么

不止是「看台站」——地图、消息、射频、传播与天气,火腿用得上的都在这。

地图与追踪

01

实时地图追踪

高德瓦片 / 高德卫星 / 矢量 / Carto(浅色·深色·航行者)/ OSM(标准·人道)/ OpenTopo / Esri 十多种底图可切。一台站一个标记(v1.6.149 起去掉聚合),也能看轨迹回放,低缩放密度看热力图。

  • GCJ-02 / WGS-84
  • 热力图
  • 轨迹显示
02

沉浸地图(导航风格)

专为「边开车边看」设计的导航风格页面:大字号方向 / 距离 / 速度,左侧「附近台站」面板,目标台站居中,Android 与 Windows 都能用。

  • 导航风格
  • 附近台站
  • 大字号
03

离线地图

把当前视图整片瓦片下到本机(断点续传、单区域上限 20 万张),断网、无信号也能看;四级降级保证地图始终可看可点。

  • 按视图下载
  • 断点续传
  • 四级降级

通信与网关

04

位置信标

一键上报位置,按 APRS 1.0 标准格式发送,自动带上高度、速度、航向和电量,上报间隔可调。

  • 标准格式
  • 自动附带信息
  • 演示模式
05

消息通信

单聊、群聊统一在会话列表里,带 ACK 确认。支持群聊邀请、成员管理、未读角标,中文消息也没问题。

  • ACK 确认
  • 群聊管理
  • 中文兼容
06

双向聊天翻译

内置多引擎翻译,默认走免费接口、无需任何密钥。收到的和发出的消息都能译,可对照原文,也能在发送前先把自己的输入译成对方的语言。

  • 免密钥
  • 对照翻译
  • 发送前翻译
07

网关(iGate)

把射频收到的报文转到 APRS-IS,自动带 qAr / qAR 来路标识;带环路防护(含 TCPIP* 或已有 q 构造的报文绝不送回),同一帧 30 秒内只注入一次。可选双向模式会把网络侧发给「刚在射频上听到过」的台站的消息送到射频。

  • RF→IS
  • 防环
  • 去重

台站与数据

08

台站识别与筛选

接入 aprs.org 官方设备库,从报文目的呼号识别台站所用设备(厂商 + 型号 + 车台 / 手台 / 跟踪器 / App / 网关…)。列表可筛状态、类型、设备类别与具体型号;详情页可跳 QRZ 呼号库与 aprs.fi 看轨迹。

  • 官方设备识别
  • 类别 / 型号筛选
  • QRZ / aprs.fi
09

数据包与日志

原始报文用等宽字体展示,长按可复制;解析结果按位置 / 消息 / 气象 / 状态分类。内置分级日志方便排查问题。

  • 原始报文
  • 类型筛选
  • 调试日志
10

五种数据来源

互联网(APRS-IS)、蓝牙 / 串口 TNC(KISS)、声卡音频 AFSK 1200(Bell 202 软 TNC)、Kenwood 航点 $PKWDWPL(只收不发),以及 WLAN 电台直连(支持 IC-705 / IC-9700 / IC-7610 / IC-905 等 Wi-Fi / 以太网型号,CI-V 控制与局域网音频)。多条链路可以同时收报文,发射来源单独指定一条。

  • APRS-IS
  • TNC
  • 音频
  • PKWDWPL
  • WLAN 电台
11

天气 · 统计 · 荣誉

天气面板(动态背景跟随实时天气强度变化)、台站统计面板(最近上报 / 最远距离 / 报文速率),以及荣誉墙。

  • 天气面板
  • 统计面板
  • 荣誉墙
12

数据导出

一键导出 ADIF —— 业余无线电通用的日志交换格式,频率可自定义,导出后可直接导入其它日志软件。

  • ADIF
  • 频率自定义
13

短波与电离层传播

短波面板与独立组件:SFI / Kp / A 指数、黑子、X 射线、太阳风,四个波段对的「日 / 夜」条件一眼看清;数据来自 hamqsl.com(N0NBH),30 分钟缓存。

  • SFI / Kp / A
  • 日 · 夜
  • 30 分钟缓存

系统与体验

14

连接与后台

自动连 APRS-IS 公共服务器,TCP / WebSocket 都支持,断线按 8 → 16 → 32 → 60 秒渐进重连。Android 用前台服务保持在线。

  • 自动重连
  • 前台服务
  • 系统通知
15

自动更新

应用内检查更新,GitHub / GitCode 两个渠道可切,按平台分流下载,也能装历史版本。

  • 双渠道
  • 按平台分流
  • 历史版本
16

个性化体验

简体中文 / 繁體中文 / English / 日本語 / Indonesia / Español 可切换,支持深色模式和自定义主题色,界面可缩放 85% ~ 130%。首次启动有六步引导。

  • 六种语言
  • 深色模式
  • OOBE 引导
17

桌面小组件

Android 桌面小组件:天气(4 档自适应尺寸)、短波传播、系统状态三套;组件不自己联网,由应用单向推送快照,省电可控。

  • Android
  • 4 档自适应
  • 不自行联网
18

主题与备份

主题不只是换色:颜色、图标、文字、背景图都能改(17 个颜色令牌),可导出成 JSON 分享;设置与数据可整体备份,换机一键导入。

  • 17 色令牌
  • JSON 分享
  • 一键备份

能跑的平台

Android 与 Windows 有现成的安装包,下载就能用。

首次启动,跟着向导走

第一次打开会进引导向导,按步骤填完就能连上 APRS-IS 并开始上报位置。

  1. 1

    选择语言

    中文 / English / 跟随系统

  2. 2

    了解功能

    建议先试用演示模式

  3. 3

    填写呼号

    如 BG7LZQ-3,选择 SSID 后缀

  4. 4

    选择符号

    汽车 / 房屋 / 人 / 气象站 …

  5. 5

    接收筛选

    按国家 / 地区选择接收台站

  6. 6

    配置服务器

    填入 Passcode,完成即自动连接

💡
Passcode 小贴士:密码填 -1 即可连接,但未验证的 Passcode 无法正常收发消息。建议到 APRS Passcode 查询 生成你的专属 Passcode 后填入。

信标 · 符号

遵循 APRS 1.0 标准,兼容主流 APRS 软件,图标全部来自官方符号表。

信标示例 · Position Beacon APRS 1.0
BG7LZQ-3>APALOC,TCPIP*:!2148.90N/11049.14E/> /A=000328 090/050 Bat:70% APRSlocus v1.6.18
  • APALOC — 标识本台站使用 APRSlocus
  • /A=000328 — 高度(英尺)
  • 090/050 — 航向 / 速度
  • Bat:70% — 电量

更新日志

近期重点版本的主要变化(中间数十个以修复为主的版本已合并,完整记录见 GitHub Releases)。

v2.1.6 2026-10-16
历史轨迹可以导出成 GPX:今天、最近 7 天、30 天、1 年,或者自己挑一段起止时间。导出的文件落在系统的「下载」目录里,导完可以直接分享出去,用别的软件打开就是一条条带时间的轨迹点。
地图右侧的「跟随」改成三态:关、锁定中心·正北朝上、锁定中心·航向朝上,点一下就能换。台站页横屏下的排序入口不再消失,按哪个字段排也会记住,跟着备份一起走。
横屏下地图画的轨迹、信标点、精度圈和热力图不再画到左侧卡片与底部横条底下(卡片是磨砂的,以前蓝线就从卡片里透出来);上报横条开详细档时,最左边会显示这一发要发的信标符号;启动时体检一次权限,只说「本来有、现在被关掉」的那几项。
v2.1.5 2026-10-15
地图跟着你走:右侧工具列多了一颗「锁定地图中心」。点开以后你走动时地图一直把你的位置摆在中间,不用每次手动回中;缩放仍由你掌握。拖地图、或者点某个台站聚焦过去,锁定自动解开。
关于页新增「伙伴」一节,收录 APRSNET.CN。
服务器地址没填时点「连接」不再只是转圈:设置页的服务器一栏会标出「未配置」并写明原因,点连接则弹一句提示,附一个直达连接设置的入口。
v2.1.4 2026-10-14
「待确认上报」不再反复弹:常驻通知以前可能一秒重发一次(定位、台站、电量、倒计时的任何变化都会重写通知文字),系统把它当成新通知再弹一回;现在文字没变就不去碰系统,通知也标成「只提醒一次」。更根上的一处是:链路抖一下(掉线后自动重连、被服务器踢、换发射来源)会把本次连接里你已经点过的「开始上报」抹掉 —— 上报停住,界面与通知跳回「待确认上报」。现在只有你自己点的连接 / 断开 / 恢复出厂才作废这次确认;计划外掉线、自己又连回来的,确认留着,接着上报。
v2.1.3 2026-10-14
修好「安卓取不到卫星数」:新机型普遍不再往定位结果里塞卫星数,退路的系统 GNSS 状态里「哪几颗参与了定轨」也不是每台机器都填 —— 于是信标设置页的「当前卫星数」一直是一个「—」。现在按三级取数:定位自带的数 → 参与定轨的颗数 → 在视颗数,哪一级有值就用哪一级;监听注册失败也会每 30 秒自己重试一次,不再永久停在「不知道」。
v2.1.2 2026-10-14
信标可带上卫星数:SAT=nn 是可选的备注字段,来源是正在供位的那个来源 —— 手机 GPS(Android 读参与定位的颗数)或外接 GPS 模组的 GGA 语句。默认关;来源不提供这个值时不发,而不是发一个会被读成「一颗星都没有」的 0。
外接 GPS 设备页多了一张「当前定位」卡:坐标、海拔、速度、航向、卫星数、精度(含原始 HDOP)、定位类型(GSA 的 2D / 3D,也会明确说「模组没报」)、模组时间(UTC)、触发语句与最近一条原始语句都在明面上;龄期(「N 秒前」)每秒刷新,断流后一眼能看出「已经多久没有新定位」。
不再说「连接 TNC」:外接 GPS 与 PKWDWPL 设备页以前沿用 TNC 那一套按钮文案,点下去看着像要连电台 —— 现在改成按设备说话(扫描设备 / 连接设备 /已绑定设备…),只有真正的 TNC 页才说「连接 TNC」。
v2.1.1 2026-10-14
外接 GPS 定位来源:蓝牙 SPP / USB 串口接入 NMEA 0183 模组(RMC / GGA / GLL / ZDA / GSA / VTG),作为本机位置,只收不发。位置优先级:模拟位置 > 外接模块 > 佳明手表 > 手机 GPS。
设备页新增「外接 GPS」子页:扫描 / 绑定 / 连接 / 断开 / 重启,以及定位接收统计;数据来源卡把手机 GPS / 外接模块 / 佳明列在一处并写明优先级;信标横杠显示位置来源(如「外接 GPS 上报 · 45s」)。
v2.1.0 2026-10-14
封面彩蛋不再等那五秒:关于页封面上那颗蛋,以前点一下要盯着一张不动的封面等五秒 —— 谁也分不清那是彩蛋还是卡住了。现在一点就是一次激活:抖动、翻面、粒子一起发生,翻牌动画刚走完,那一页故事就递到眼前;再点一下翻回正面,故事也不再打开。故事能内嵌的平台(Android / iOS / macOS)直接在应用内整屏翻开,只有 Windows / Linux / Web 才交给系统浏览器。
离开这一页,音乐就停:故事页自带背景音乐,以前退出这一页(返回或切到后台)之后声音还在响 —— Android 的 WebView 拆掉后,页面里的音频(audio 元素)并不会自己安静。现在退出前先把声音按停、退场动画里再把整页腾空,切到后台也同样按停。
v2.0.68 2026-10-13
智能体回复更快:2.0.67 的「逐字回复」请求体里漏了 stream,后端按普通请求回一整段 JSON,应用判定「没拿到流」后又把同样的请求发了一遍 —— 每轮白等一倍时间、白花一倍 token。现在流式请求真的带 stream:一次请求、边收边显示;后端不认这个字段时照旧自动退回整段式,不会少一句回复。
智能体不再「调几次工具就断掉」:单个工具出错不再带走整轮对话(异常变成这次调用的结果回给模型);一轮的工具往返次数用完后会补一次不带工具的收尾请求,把结论说出来,而不是干停在最后一个工具气泡上。
台站备注更完整:备注单独成行、可换行、默认不限行数,长备注不再被省略号吃掉;备注里的网址(https://… / www.…)自动变成可点链接,台站列表 / 台站详情 / 地图信息浮窗三处一致。
智能体更快:默认系统提示从 5.3KB 瘦到 2KB —— 它原本把 57 个工具的用法逐条复述了一遍,而每个工具的说明本来就随请求一起发。工具描述也一并精简(名字 / 参数 / 取值都不变)。系统提示 + 工具schema 每轮都要重发,两份合计小了约四分之一,回复更快。
台站状态报文更省、不再闪:APRS-IS 保活以前每 15 秒先发一帧 >APRSlocus CONNECT …、再发一帧你的自定义状态,白占一帧还让 aprs.fi 上的状态在两者间反复闪。现在只发一帧、谁有内容发谁:填了自定义发自定义,没填才发内置默认帧;CONNECT 身份帧只在连上的一瞬间发一次。自定义帧万一写失败仍会自动补发,状态不会被 CONNECT 顶掉。
v2.0.67 2026-10-13
智能体可以「逐字回复」了:回复不再是「转半天整段蹦出来」,而是边生成边逐字上屏,长回答尤其明显。优先走真流式(SSE 逐块增量);后端不支持流式(忽略 stream、或 Web 平台)时自动退回整段请求,再用打字机效果补上逐字观感 —— 不会少一句回复。设置页「接口」折里可开关(默认开)。
智能体「工具操作历史」+ 工作状态冒泡:聊天框标题栏新增「工具操作历史」按钮,记下它每一次工具调用(工具 / 参数 / 结果 / 时间 / 成功 · 被拒 · 失败),最新在前、可一键清空,按钮带数字角标。有活儿时旁边还会冒一个状态气泡:「正在操作:xxx」或「思考中…」,不用盯着对话猜它在干嘛。
台站详情 PHG 更清楚:功率 / 天线高度 / 增益 / 方向从一行灰字改成一张橙色小卡片,四项各自带标签与单位,一眼可读;全向方位显示为「全向」,不再露出 360°。
数据包页更清晰:每条报文的「呼号 → 目标」单独成行,不再和徽标、时间挤在一起被省略号截掉;「原始模式」不再截断,完整显示整条报文(路径 / 数据扩展 / 备注不再被吃掉),可换行、长按复制。
v2.0.66 2026-10-13
智能体可以操作「策略地图」了:现在能用一句话让智能体在群里给队友标点、画线、画圈、放集合点 —— 它调用 strategy_add_point / strategy_add_line 等新工具,元素立刻落到每个人图上并广播给群;也能用 list_strategy 看清图上有哪些元素、按 id 修改或删除,或 strategy_clear 一键清空。只读的 list_strategy 免确认;会发 APRS 帧的写操作仍需「允许发送 / 允许修改设置」权限与逐次确认。
v2.0.65 2026-10-12
修复 WLAN 电台直连无法更改射频中继路径:「WLAN 电台直连」(IC-705 / IC-9700 / IC-7610 / IC-905)子页原本没有中继路径入口,想改 WIDE1-1,WIDE2-1 之类的射频路线无处可填。现在该页补上「射频中继路径」输入框,与 TNC / 音频页同一个键、同一个语义(留空 = 不指定中继),改完立即生效。
v2.0.64 2026-10-11
修复连电台热点后 APRS-IS 断线:连上 IC-705 等电台发出的 Wi-Fi 热点后,系统把它当成默认上网通道、暂停移动数据 —— 于是电台连上了,APRS-IS 反而掉了。现在改为向系统申请一条本地 Wi-Fi 网络并把电台的 UDP 流量绑定到 Wi-Fi,APRS-IS 仍走移动数据,两条路各走各的;低版本 Android 退回原有方式。
v2.0.55 2026-10-10
新增香港节点:阿里云 OSS(香港)更新通道。更新页多出与该渠道并列的「Aliyun OSS(香港)」,与广州节点同属团队承担的 CDN 分发,区别只是阿里云区域 —— 广州国内可达性好,香港在跨境 / 境外网络下更稳;两条渠道都会显示「请少量使用 🙏」。发版流水线现在把每个版本的安装包与索引同时推到广州(aprslocus)与香港(aprslocushk)两个 bucket,香港走自定义域 aprslocushk.oss.theez.top。
v2.0.54 2026-10-10
改地图交互:单击台站标记不再「飞过去」并放大,而是选中并显示呼号标签 / 信息窗,想连着看几个相邻台站时地图不再跳;详情改为双击(或点信息窗)进入。同时提升卫星影像可读性:台站符号加一圈深色光晕,主地图与策略地图的呼号标签在卫星图上改为「深底白字」。
v2.0.53 2026-10-10
修复阿里云 OSS 渠道下载 400:OSS 默认域名对 .apk / .ipa 下载一律返回 ApkDownloadForbidden(.exe 不受影响)。改为上传时给这两类对象加 .bin 后缀、索引里的下载地址随之指向 xxx.apk.bin,而资产名不变 —— 客户端无需改动。发版自检现在会真去下每个资产。
v2.0.52 2026-10-10
新增阿里云 OSS 更新通道(可选):在 GitHub / GitCode / Qingling 之外再加一条,安装包放在阿里云对象存储、客户端走阿里云 CDN(aprslocus.oss-cn-guangzhou.aliyuncs.com)取包,国内可达性好。默认不启用,需在更新页手动切换。
费用提示:该通道流量费由开发团队承担,切到它时更新页顶部会常驻一条提示,请少量使用 🙏。发版流水线新增 publish-oss,把安装包与一份 GitHub 同格式的 releases 索引一并上传;凭据只从 GitHub Secrets 读取,不写进仓库。
v2.0.51 2026-10-10
新增 Qingling(清零)更新通道:国内直连 GitHub 取更新包常失败,现多一条可选渠道,指向自建镜像(先取回发行版、再以 GitHub 同格式接口提供,客户端不直连 GitHub)。通道地址集中在 updateChannelBases,更新页与启动提示共用一份,避免漏改。清零通道走 HTTPS + 内置自签证书钉扎(只钉交付服务器那一个主机,其余渠道仍走默认信任链),传输加密、中间人无法篡改,且无需域名 / 备案 / 买证书。默认仍是 GitHub。
修复测试流水线产物:Windows 测试版此前只打 Flutter 启动器(约 123 KB,缺 flutter_windows.dll 与 data/,双击无反应)→ 改为单文件安装器并加 if-no-files-found: error;iOS 测试版产物名会丢掉fork 标识 → 保留版本后缀。另:v2.0.50 已发布,本次带新功能,版本递增到 2.0.51。
v2.0.50 2026-10-09
修复音频参数改了不保存:在音频设置里改采样率 / 波特率 / 音调 /TX 前导延时 / 输出幅度,改完不按回车、直接点别处会悄悄丢掉——没按回车的输入框只挂了 onEditingComplete,而它只在回车时触发、失焦不触发。现在失焦即落定,回车仍可立即确认;输出幅度只重建调制器、不中断接收。IC-705 的电台参数与 TNC 串口线速同款问题一并修好。
v2.0.49 2026-10-09
修复声卡能收不能发:接电台时对方解不出,是因为输出幅度这个决定是否削顶的增益在界面上根本改不了,而两条告警都写着「请调输出幅度」。发射卡现新增「输出幅度」输入框,改完立即生效(只重建调制器,不打断正在进行的接收)。同时标明当前发射来源(音频连上 ≠ 从音频发),并提示软件不会按电台 PTT(需 VOX 或数据口键控)。
数据包页标明来源:每条报文都带来源徽标(APRS-IS / TNC / 声卡 / PKWDWPL / 本地),排查「射频通不通、网关有没有转」时一眼看清这条从哪来。
v2.0.48 2026-10-09
修复设置页箭头没贴右:标题用了「松份额」Flexible,文字短时会留剩余空间、箭头左飘;改成紧份额 Expanded 后箭头恒定贴右,说明列起点也随之对齐。
v2.0.47 2026-10-09
点空白收起键盘:点聊天框以外任意处即取消输入聚焦;设置页整理对齐(图标底座 / 图标 / 箭头尺寸统一,说明文字左端对齐);「关于」下方新增「用户反馈」入口,直达仓库 Issue。
v2.0.46 2026-10-09
输入框更顺手:主操作键平时是「+」(发位置点),一点进输入框就变成「发送」;「译发」也从「+」里挪到外面常驻,一键可用。分享出去的位置点点一下会弹小面板,可直接选在地图查看或导航。
v2.0.45 2026-10-09
选台站,能搜能翻页:私聊「+ → 发送位置点」里新增「选择台站」,按呼号 / 别名搜索、分页浏览(每页 20 条、上/下页带文字按钮),有定位时按近 → 远排序;行尾可先看台站详情。台站详情「更多」里也能把这个台站分享到其它会话。
位置点自由选、样式统一:分享位置点在地图上任取坐标(或「我的位置」);点按后套用台站面板,可直接呼出导航。对话里的呼号识别修正:只要形如呼号即可点击,已在台站列表用实线、暂未收到的用虚线,点开都能看台站面板。
v2.0.44 2026-10-09
私聊也能发位置:一对一会话里点输入栏「+」即可在私聊发送位置点——拖动地图任取坐标,或直接「我的位置」;还能分享某个台站。对方收到后是一条专用卡片消息。
消息里的呼号可点击:对话中识别到的台站呼号像超链接一样,点一下即打开台站详情;分享台站的位置卡片点按同样是打开台站面板(自由选点则跳主地图)。输入栏也收敛成微信式的一个「+」。
v2.0.43 2026-10-09
策略地图更顺手:点队友/自己标点直接打开台站详细面板;「导航」交给手机地图应用(高德 → 系统地图 → 浏览器 OSM);地图上新增「我」的位置(蓝点 + 呼号 + 方位角)与「定位到我」一键回位。
策略变动在群聊留痕:新增 / 改动 / 删除 / 清空图层都会在群聊留一条提示,队友点一下即跳进策略地图;群聊发送不再弹确认,直接发(未连接服务器会先拦下提示)。
v2.0.42 2026-10-09
策略地图升级:地图上新增队友位置 + 方位角小角标(按去 SSID 的基呼号匹配群成员台站,静止/无航向就不画),线 / 圈可选颜色(全网一致六色调色板),画点等策略消息在群聊留可点击提示,点一下直接跳进对应群的策略地图。
射频也能用群聊与策略地图:groupChatAllowed 放开为始终可用,射频(TNC / 音频)下策略帧改用带 ack 格式,借队友的标准自动 ack 判断送达;90 秒未确认视为「不确认」(队友可能关了自动 ack),可在策略地图页手动重发。
修复策略点「跳转导航」:策略点不在台站表里,补画一枚焦点标记,跳转改为瞬时落位(不再走过渡动画),不会再停在「飞了一半」的中间态。
v2.0.41 2026-10-03
群内「策略地图」:与队友 / 群组共享标点、线、圈、集合点,复用现有群组、数据经 APRS 消息传输(帧前缀 $M,超长的线自动分片,任何帧都 ≤ 67 字符);元素支持跳转导航与编辑附带信息,可「清空图层」同步全群。
地图长按快捷消息:长按 beacon / 台站弹出快捷消息面板,复用现有发送链路。
移除 OOBE Passcode 提示:首次启动引导里不再出现「获取 Passcode」提示。
v2.0.40 2026-10-08
消息页「发射位置信标」按钮:消息页大标题右侧新增一键按钮,随手手动发射一次位置信标(与地图页「立即上报」同一动作),不改动自动上报开关;位置还没就绪时如实提示「等待定位」,窄面板下自动缩为图标。
v2.0.39 2026-10-08
备份包含历史轨迹:导出备份时,「设置配置」分组会一并带上历史轨迹(按天原样搬运),换机导入后轨迹照常保留、可继续翻账。备份格式升到 v2,旧备份(v1)仍可导入;轨迹在导入时按天合并,本机较新的一天不会被旧备份顶掉。轨迹是不带类型标签的独立载荷,不参与偏好白名单校验。
关于页文案:副标题去掉「本机」限定词,六语言统一为「APRS 客户端 · 定位与地图」,不再让人误以为只在本机运行。
v2.0.38 2026-10-07
天地图图层:底图新增「天地图」分组,共三张 —— 天地图 矢量(vec)、天地图 影像(img)、天地图 地形(ter)。天地图的底图本身不含地名,文字在单独的透明注记层(cva/cia/cta),因此每张底图都会叠上对应注记(矢量叠 cva、影像叠 cia、地形叠 cta);底图与注记分开缓存、离线时一起下载,不会出现「有图无地名」。天地图实测为 WGS-84(与 Esri/OSM 影像零偏移),因此不做 GCJ 纠偏,可与 OSM 互为兜底;瓦片支持到 z18。Key 走构建期注入(CI Secret TIANDITU_KEY),源码不落 key;未配置时自动退到 OSM,地图照常可用。
v2.0.37 2026-10-07
地形 / 等高线图图层:地图底图新增「地形」分组,一次给到四张对登山友好的地形底图 —— OpenTopo 地形(带等高线,从「其他」移入)、Esri 地形(等高线)(路网 + 地名 + 等高线,最像纸质等高线地形图)、Esri 地形浮雕(纯浮雕,看整体地形最干净)、Esri 山体阴影(只看沟壑走向)。四张都免 Key、可离线下载、与 OSM 互为兜底;它们本就是 WGS-84 国际瓦片,因此不做 GCJ 纠偏,不会整体偏位。
v2.0.36 2026-10-03
连上服务器后手动确认再上报:无论用哪种方式定位,连上服务器后都不再自动上报位置。主界面上报动作组给出一枚正式的「开始上报」按钮 —— 拿到本轮有效定位前置灰显示「等待定位」,确认坐标有效后点一下才开始按间隔自动上报,并立刻补发一次让用户在地图上看到自己。断开 / 重连 / 重开 App 都会复位这个确认,绝不回到「连上就自动上报」;顺带去掉了连接成功后自动弹出的询问弹窗,改为这枚按钮(不打扰)。
荣誉墙更好看:成员荣誉墙加上工具条 —— 搜索框(按姓名 / 呼号 / 称号过滤)、实时概览(多少位伙伴、多少枚徽章)、以及可横向滚动的徽章图例(点一下直达对应分组)。卡片、分组标题与响应式布局一并打磨,键盘也能导航;荣誉卡的导出样式(PNG)保持原样不变。
v2.0.35 2026-10-06
模拟位置重启后不自动生效:选了「模拟位置 + 手动定位」并保存了坐标后,下次启动 App 虽然把坐标装了回来,上报闸却一直关着 —— 界面停在「等待定位」,必须再点一次「应用坐标」才能定位上报。原因:启动时把保存的坐标一律当成「上次的实时定位」关闸(GPS 模式下这是对的,防止定位没开就报旧坐标),而 GPS 的自动定位路径又会被「模拟位置」挡掉,于是这个闸永远开不了。现在模拟位置下保存的坐标就是用户选定的坐标,启动即放行、并同步过滤中心;顺带把模拟位置的保活前台服务也在启动时拉起(与 GPS 模式对称)。
v2.0.34 2026-10-03
非整数缩放级别下地图发糊:实测各图源返回的像素后发现,除了高德街道(wprd 主机 + scl=2)给 512px,Carto / OSM / Esri / 腾讯 / 高德卫星都只有 256px —— 图源本身不是主因。真正的问题在选层级:地图用 zoom.floor() 取瓦片级,于是整档 [z, z+1) 都取 z 级瓦片,越接近 z+1 源图被拉得越大(z=12.9 时 1.93×),再乘屏幕像素密度 2~3 倍,物理上放大 4~6 倍,必然糊。改用 zoom.round():放大封顶在 √2≈1.41×,后半档转为缩小,对所有图源都生效。
v2.0.33 2026-10-03
上报界面合并,一处开关两处按钮:把分散在地图状态栏、我的面板、沉浸页的「立即上报」收进共用的 ReportActions(自动上报开关 + 立即上报按钮),删掉重复实现与「上报成功」的假提示;设置里统一叫「自动上报」并加了指回主界面的说明。
v2.0.32 2026-10-03
数据维护页重排 + 恢复出厂:把「台站保留天数」从「连接设置 → 存储上限」移进「数据维护」页、与清理按钮同页(改为下拉选择);手动清理不再复用自动清理的天数,而是当场选一个独立天数;新增「清除所有数据并重新初始化」——连呼号、服务器、信标、界面等全部设置一起清除,并重新运行首次引导。
v2.0.31 2026-10-03
自定义状态「有时还显示 CONNECT」:状态报文是「内置身份帧 + 自定义状态」一对,写的是 aprs.fi 上同一个「台站状态」栏、后到者覆盖。补发那一帧原本是「发射即忘」,socket 抖动时可能静默写失败,于是 aprs.fi 停在 CONNECT 上、每轮保活又续一次。现在连接器回传发送成败,保活记住「上次自定义帧丢了」,下一拍立刻补发自定义帧本身(不再发 CONNECT)直到成功 —— 状态不会再被内置文本顶掉。
v2.0.30 2026-10-03
数据维护:按天数清理过时台站(issue #33):设置里可设「台站保留天数」,超过该天数没再听到的台站会在启动时自动清理;「数据维护」页还提供立即清理入口,并先显示会清掉多少个。只清普通台站 —— 收藏 / 手动添加 / 你自己的台站永不被清理,恰好卡在阈值上的也保留;保留天数 0 = 关闭自动清理。清理不可恢复,所以绝不静默全清。
v2.0.29 2026-10-03
稍微使劲放手机就触发碰撞提醒(issue #32 后续):旧判据是「一个冲击尖峰 + 之后 12 秒不动」,而放手机恰好同时满足这两条。阈值调高也救不了 —— 这是判据本身的问题。现在把两种事件的要求分开:摔倒要有自由落体(失重)再落地冲击;碰撞没有失重可依据,就要求冲击明显更狠(约两倍阈值)。真实车祸峰值动辄 20g 以上,照样抓得到,轻放手机的 3~8g 被挡掉。
修一个自由落体判据的 bug:此前判「失重」用的是去掉重力的线性加速度,而它在静止时恒为 0 —— 于是「放着不动」被当成了「一直在自由落体」,每次冲击都被判成摔倒。现在改用含重力的总加速度(静止≈1g,只有真失重才趋近 0)。说明卡也据实更新了。
v2.0.28 2026-10-03
生命守护「强提醒」:碰撞 / 摔倒、心率异常触发时,除了应用内弹窗,还会发一条高优先级系统通知(响铃 + 震动 + 锁屏/抬头横幅)。此前告警只挂在那条安静(IMPORTANCE_LOW)的常驻通知上,系统不为它震动也不弹横幅 —— 手机放兜里(摔倒或开车时最常见的状态)根本察觉不到。强提醒走单独的高优先级通道;Android 需要 VIBRATE 权限(已加)。
碰撞 / 摔倒检测算法优化:在原有「冲击 + 随后约 12 秒静止」之外,再看冲击前有没有自由落体(加速度模 ≤ 0.35 g 持续 ≥ 80 毫秒)—— 摔倒几乎总是先自由落体再落地冲击,车祸撞击则没有那一段。据此把告警区分为摔倒与碰撞,标题、图标与说明文字随之变化。两类告警的处理方式完全一样,这只是把判断说得更准;仍然是启发式,弹窗里照旧写明「不是工程级检测」。
检测灵敏度三档:设置 → 生命守护新增「灵敏 / 标准 / 抗颠簸」。原来阈值写死,适配不了不同携带方式 —— 手机放裤兜里骑车,正常颠簸就能越过阈值;固定在车把上又一路误报。灵敏度只影响检测(哪个撞击算数),不影响告警动作;随备份一起走。同时 iOS 补齐了本地通知与同款碰撞/摔倒检测。
v2.0.27 2026-10-05
连接成功时用户自定义状态包被内置身份帧顶掉(issue #31):连上 APRS-IS 会先发一帧身份状态帧宣告在线,它会把 aprs.fi 上「台站状态」那一栏改成内置文本。此前只有 15 秒保活帧会补一帧自定义状态,连接成功这条路径漏了 —— 于是每次重连都把用户设的状态顶掉一次。现在两处都补发。
v2.0.26 2026-10-04
地图「我的位置」标记显示方位角:圆环上多出一个朝航向的三角箭头(蓝底白边,与圆点同一套视觉语言),一眼就能看出自己朝哪边走。纯网络定位 / 静止未取得航向时不画,不拿猜的方向误导。
左下角「我的位置」面板显示的上报间隔与倒计时不一致:面板那行「自动上报中 · 每 Ns」读的是固定间隔字段,而右边的倒计时读的是当前生效间隔。纯网络模式下两者不同(生效值 = 网络间隔,默认 300 秒),于是间隔卡在 GPS 模式留下的旧值不动。现在两处都改用生效间隔。
v2.0.25 2026-10-04
群发前提示一次确认:无论从消息页选中群聊发送,还是从群跟踪页的快捷聊天面板发给整个群,发送前都会弹一次「确认发送到 <群呼号>?」。群发是一键发给全体成员,发出去收不回来,值得先问一句。
邀请前提示一次确认:单成员邀请(手动输入呼号或点成员旁的对勾)与建群时的批量邀请,都会先弹一次确认(建群那句会写明「将邀请 N 位成员」)。
升级 / 更改文件重装后「今日步数」归零(issue #22-2):今日步数此前只存在内存里、从不落盘,任何一次冷启动、覆盖安装或改文件重编译都会先回到 0,若一直没等到传感器读数就永远停在 0。现在每次步数变化即落盘,启动时把今日步数接回来;跨天照常按日期归零,同一天内设备重启则把重启前已累计的部分接续上,不再凭空少一截。
v2.0.24 2026-10-04
荣誉庆祝不再区分新老用户:此前「只有被新授予的称号才弹」,自己本来已有的荣誉从不展示。现在改为:本地没有「已阅读」记录,就把当前已拥有的全部荣誉依次弹一遍(全新安装、旧版本升级、记录被清除都算无记录);看过一次即落盘,之后不再重复(除非该账号新获荣誉)。
步数排行榜点「我」那一行,弹出的提示条黑乎乎一片:提示文字用了 ts(12),其默认取色是深色,压在同样是深色的提示条底上 —— 深字叠深底,一个字都看不清。改为显式白字(设置页里同类的一处一并修)。
开发者选项新增「清除已阅读荣誉」(设置 → 实验室与开发者工具):清掉本机「已阅读」记录,下次判定会把当前已拥有的荣誉重新展示一遍,方便预览与自测。
v2.0.23 2026-10-04
显示设置新增「始终显示地图标签」:打开后,无论台站多密、缩得多小,地图上都会显示每个台站的呼号标签(栅格与矢量两套地图都生效)。默认关,沿用原取舍(台站 ≤ 60 个或放大到 13 级以上才显示)—— 打开会明显变密、标签也可能互相重叠,渲染也更费;该偏好随备份一起走。
拦截页「长按解封」按不出来:远程限制名单里软封的隐藏解封入口(长按本机安装标识)此前被两处手势抢走 —— 标识用的是可选中文本,长按会弹出系统选区工具栏;旁边的复制图标又因长按提示抢走同一手势。于是长按永远不是「解封」,用户看到的就是「变成复制/选择工具栏」。现在标识行是单一手势区:点一下 = 复制、长按 = 解封(软封有效;硬封仍按设计静默无反应)。
v2.0.22 2026-10-04
修好「老用户看不到新荣誉庆祝」:上一版的新荣誉庆祝只在你关闭过动画后才记录「已见」,而旧版本没有这个功能 —— 升级后设备上只有荣誉表、没有已见记录,旧逻辑把这种情况当成全新安装、「等第一份在线名单再建基线」,而那份名单已经含刚授予的称号,于是新荣誉被算进基线、永远不弹。现在按「本地是否已有荣誉表」区分:老用户升级时立刻用本地缓存建基线,同一会话内到达的在线新授予即可正常弹出;全新安装仍等在线名单,不会把已有荣誉狂弹一遍。一次授予多枚只弹一枚也修了:现在按顺序逐枚弹,关闭一枚自动补下一枚。
首次运行的向导不再预填连接参数:服务器、端口与 Passcode 一律留空(仅以灰色提示常值),不再默认填好 rotate.aprs2.net / 14580 / -1 —— 软件不预置、也不推荐任何服务器地址;重新运行向导时仍会回填你保存过的值。
v2.0.21 2026-10-04
新获荣誉时弹出「恭喜获得」庆祝动画:打开软件后若检测到账号被新授予荣誉(成员称号或 FIRST FIX),会弹出一屏庆祝:半透明遮罩上金箔粒子四散,中央白底卡片里徽章带光环 / 射线浮现,随后荣誉名、描述与主按钮依次淡入。造型沿用全 App 的浅色卡片语言,徽章配色与荣誉墙一致;点按任意处或按钮关闭,同一枚荣誉只弹一次。判定只在在线名单到达后进行,全新安装不会把已有荣誉误当新授予弹一遍。
v2.0.20 2026-10-03
手指落在台站上时地图无法缩放/拖动:台站标记的手势会把地图的手势挡掉(HitTestBehavior.opaque),改成 translucent 后标记与地图都收到指针 —— 点 = 选中台站,拖动/捏合 = 地图;栅格与矢量两套地图都改了。矢量地图的热力图失效也修了:原来被 !_usePluginMap 整个排除,现在矢量地图也画热力(用 flutter_map 相机投影)。「从收藏台站开始」新建会话黑屏也修了:它会先把「新建会话」对话框关掉,选完人后又关了一次,把整个消息页弹掉 —— 现在只有对话框还开着时才关。手动选点(模拟位置)没有系统通知也修了:手动设坐标会停掉前台服务却没把保活起回来 —— 现在会起回来。
热力图档位(设置 → 显示 → 地图):弱 / 中 / 强,调整热力光斑的大小与浓度,两套地图共用同一个值。台站详情重新显示 PHG(功率 / 天线高度 / 增益 / 方向),这次是独立一行、不再挤进三列指标。
v2.0.19 2026-10-03
地图不再卡(三处根因):矢量地图原来完全没有视口裁剪、还把全世界台站塞进 MarkerLayer,而台站版本号每个报文都 +1 —— 于是每个报文都重建几千个标记;现在只建视口内的 + 标记带 key 按身份复用 + 台站密时不画呼号标签。瓦片拖动不丝滑也修了:手势期间压住新瓦片的下载与解码,手停再补。数据包页每行重播淡入动画(时长还随行号无限增长)也改成只播一次。
新增:设置主页的连接状态面板点一下 → 弹出「链路方式」浮动面板(数据来源快捷切换,与「连接 → 设备」页同一张卡片);「新建会话」下面加「从收藏台站开始」;台站列表加「收藏」筛选,收藏视图下每行一颗星标点一下即取消收藏;运动排行榜把自己排进列表。另外修好:佳明链接断开时请求堆叠(可能卡顿/闪退)、盒子「连接 TNC」的错误文案、设置主页过时的「待开放」、地图图例已去掉。
v2.0.18 2026-10-02
新增:WLAN 电台直连(支持 IC-705 / IC-9700 / IC-7610 / IC-905 等 Wi-Fi 与以太网型号)。手机与电台在同一局域网即可收发 APRS 音频,不用声卡或 TNC;PTT 与频率控制走 CI-V、音频走网络,不占用音频口;新增独立的电台设备页与并列的数据来源入口,并带 19 个新测试。由社区贡献者 nimenhagg 实现(PR #29)。
v2.0.17 2026-10-02
用户协议更新到 V1.2:明确"不预置、不推荐任何服务器地址,默认不连接任何 APRS-IS / iGate / 网络服务器",并补齐自行配置的责任、合法使用与数据安全条款;首次引导里服务器留空即不联网(不再预填公共服务器、不再自动连接)。
v2.0.16 2026-10-02
启动时的远程检查更及时:现在每次启动都会检查一次(原来要等最长 6 小时)。
v2.0.15 2026-10-01
用户协议更新到 V1.1(含赞赏声明)。三语同步、34 → 41 条,把「软件实际会做的事」补齐了:网关转发等于代表他人在业余频段上发射(3.5);未成年人需监护人同意、无资格不得发射(3.6);发出内容要真实、准确、合法并尊重各国法律与文化习俗(3.7);与哪些第三方通信(天气发送位置、翻译发送文本、更新向 GitHub 请求…,不使用即不发生,5.3);「生命守护」等不是医疗设备、不是紧急救援(7.6);数据可能传入第三方软件服务的免责(7.7);关于赞赏(自愿、不换取功能、不予退还、未成年人需监护人同意,9.4)。应用内公告与赞赏页都有同一口径的说明。同版还修了三处:蓝牙连不上就闪退(阻塞的连接跑在主线程 → 系统判定无响应)、电量半天不动(只在有定位时才读)、运动排行榜的占位文字与排序口径(只统计今天,且自己也在榜上并标出)。
v2.0.14 2026-10-01
新:盒子上的「APRSLOCUS」实时仪表盘。接着上一版的盒子支持,这一版把手机那侧的实时状态也推给盒子:心率、速度、方位、自动上报倒计时(带进度条)、里程(本次/累计)、电量、步数、定位精度、APRS-IS 与未读 —— 跑步骑车时手机在包里,挂在车把上的盒子一眼就能看到。心率测到就放大当主角,没测到自动换成速度;附近台站另拆一页 NEARBY(整屏 8 行)。协议改用 TEL k=v …:应用以后加字段不用动固件(不认识的键静默跳过;空值不发,盒子写 --,绝不显示假的 0)。另:IS rx-only 现在三处写清原因(首页 set pass、SYS 页的服务器原话、应用事件日志)并给出修法(pass 填基础呼号的 passcode);倒计时改为盒子本地每秒递减,状态推送收紧到 5 秒。
v2.0.13 2026-10-01
新:APRSlocusBOX(APRS 小盒子)—— 用手机管你那台小盒子。「设备」页多了一条 APRSlocusBOX:连上盒子之后,手机上就能读它的配置、改它的配置、把手机的位置喂给它、催它发一帧信标、看它到底在干什么。连接走蓝牙 SPP 或 USB 串口(独立通道,管盒子不会打断正在收发的 TNC);配置是全部 23 个键(键名与盒子文档逐字一致),改完还会自动回读 —— 显示的是盒子里的真值;盒子推回来的 EVT … 事件与命令回执一并显示,可一键复制。这一版还把手机这侧看到的东西推给盒子:自己的速度/方位/海拔/有没有定位/APRS-IS 通不通/未读消息,以及附近台站列表(按距离,最多 8 条)—— 盒子新增的 PHONE 页显示这些。盒子只跑蓝牙(自己不上 APRS-IS)时,「旁边有谁」在它上面本来是空的,现在这份数据能顶上去。两条刻意的规矩:盒子不是「数据来源」(它自己就上 APRS-IS,本应用再收一遍只会重复),且绝不自动发射 —— 信标与状态报文必须人点,自动的只有本地的位置喂养与状态推送(都不上射频)。
v2.0.12 2026-10-01
修:更新页不再让你自己选包,也不再跳浏览器。上一版把三个包的名单摆出来、点一行去浏览器下载 —— 这是错的:绝大多数人只知道「我要更新」,让他去理解armeabi-v7a 是什么、该选哪一个,等于把应用该做的事推给用户。现在更新页按本机 CPU 自动挑好对应的包(Abi.current(),无需原生通道)并直接在应用内下载:32 位老机型自动拿到 32 位包、模拟器拿到 x86_64,不会再出现「下完提示与设备不兼容」;认不出架构时回退到分架构之前的行为,所以也不会变成「挑不到包」。
v2.0.11 2026-10-01
安卓安装包按 CPU 架构分包:81.6 MB → 约 30 MB。实测上一版 81.6 MB 里76.6 MB(94%)是三套原生库(应用代码编译出的机器码 + Flutter 引擎,分别对应 arm64-v8a / armeabi-v7a / x86_64),而一台手机只用得上其中一套。现在 Release 里有三个各约 30 MB 的包:64 位沿用原来的文件名(应用内更新默认下这个,逻辑一行没改)、32 位、x86_64(模拟器 / Chromebook)。「64 位沿用原名」是刻意的:更新取资产列表里第一个 .apk,而资产按名字升序返回,. 比 _ 小 —— 所以它永远排第一,这条不变量有专门的检查与自测盯着。
更新页新增「选择安装包」:该版本有多个包时,一行一个(文件名 · 架构 · 大小),第一个标「推荐」= 应用内更新会挑的那个;点一行在浏览器打开该包的下载地址,方便只支持 32 位的老机型直接取 _armeabi-v7a。顺带修掉一处显示问题:下载中以前英雄卡与下方卡片各画一条进度条(同一个下载看着像两个任务),现在只留一条。
v2.0.10 2026-09-30
新:支持国区(中国大陆)佳明 LiveTrack。佳明的账号体系分国际区与国区两套服务器:国际区在 livetrack.garmin.com、国区在 livetrack.garmin.cn。此前只认国际区域名 —— 国区用户从佳明 App 分享过来只会看到「没有找到 LiveTrack 链接」,而且连一次网络请求都没发出,功能是静默失效的。现在三种域名写法都认(.com / .cn / .com.cn),没有 https:// 的一段链接也认(从聊天窗口里复制出来的常常就是那样),并补了两处兜底:解析时会在整篇文档里找 trackPoints(国区与老版分享页不是 Next.js 的流式块形态),抓取时照旧跟随 301 跳转。
修:macOS 上主界面中文乱码。正文几乎全部走同一个文字样式,而它的「主字体」在 macOS 上被写死成一个 CoreText 私有字体名(.SF NS Text)—— 这个名字解析不到时,中文就没有可回退的字体,于是地图页、设置页的中文整片乱码。现在 macOS 交回系统默认字体(本来就是 SF,观感一致,但「挑字体 + 中文回退」交给系统做),并把中文回退表补全(PingFang SC / Microsoft YaHei / Noto Sans CJK SC …);等宽区域(报文、日志、荣誉墙)也补上了中文回退 —— 等宽字体同样不含中文字形。新增判据:不许再出现那个私有字体名,回退表必须含三平台的中文字体。
修:聊天输入框上方的「字符数 / 整包字节」计数器不实时(用户上报:要等输入框失去焦点才更新)。根因是它在页面构建时读一次输入内容,而打字只会重建输入框自己、不会重建它旁边的计数器;「失焦」恰好也是一次重建,所以看起来像是失焦才刷新。现在它自己监听输入(打字时只重建这一行,不在每次按键时重建整个消息页),译发预览的判定(预览原文 == 当前输入)也一并搬进去;并补了回归测试 —— 把监听去掉时测试立刻报红。
v2.0.9 2026-09-28
新:生命守护增加「碰撞与摔倒检测」(测试) —— 用手机加速度判断,检测到就弹提醒(我没事 / 拨打急救 / 向附近台站求助),通知栏也会提示。判据是两段式:加速度出现很陡的尖峰且之后连续 12 秒几乎没动。只报尖峰的话,过减速带、手机掉桌上都会响,一天几次就没人看了;代价是「轻微碰撞(人还能动)不提醒」——它管的是「人已经动不了了」。它会误报(过减速带+等红灯),所以第一个按钮就是「我没事」,页面上也写明这是启发式判断,不是工程级碰撞检测。
修:步数一直显示「请授权」,但其实已授权。读数为 -1 有三种原因:没有传感器 / 没有活动识别权限 / 还没收到第一个硬件事件(没权限时系统只是不派发事件、不报错),之前混为一谈,于是「刚授权还没走过路」被显示成「请授权」。现在原生单独上报权限,四态(不支持/需授权/等待数据/正常)只留一个判定出口;顺带修掉「计步依赖传感器辅助开关」与「等待数据也显示授权按钮」。修:生命守护页的开关点了没反应(SettingsPageShell.state 只管引导卡,并不让页面跟随状态刷新)。修:速度档编辑弹层的「保存」被三大金刚键压住 —— 底部现在同时让出键盘与系统导航栏,取值取 padding 与 viewPadding 的较大者(有些 ROM 只报后者)。
v2.0.8 2026-09-28
新:运动步数与排行榜 —— 读手机硬件计步传感器,今日步数可随信标附带(STEPS=,默认关)。设置页荣誉墙上方新增运动排行榜:今日步数排行,点一行进台站详情。自己不开上传就看不到榜单 —— 榜上每个数字都是别人主动发出来的,只收不发不该白拿别人的。页面上写明这只是「你听得到的邻居」而不是全网排行。
新:「生命守护」页与更新包后台下载。心率异常告警从「设备 → 心率」搬进独立的生命守护页,说清它是什么、开启条件、以及「向附近台站求助」的口径,并标注这是测试功能(判定只基于心率数值,无医学依据)。更新包下载现在支持后台:离开页面或切到后台继续下载,通知栏显示进度,可取消;先写 .part 再原子改名,断掉不会留下一个装不上的包。
修:心率告警的上/下限改不动 —— 输入框原来只在按回车时才保存,失焦不保存,改完随手点别处就等于没改。现在输入即保存,卡片里还会显示「当前生效 40 ~ 150 bpm」。
v2.0.7 2026-09-28
修:沉浸地图一拖就跳回北京。跟随时用的视野偏移从来没有交给手动模式,拖动那一瞬间地图平移到了投影基准点;现在先从当前视野接手再切手动,并把地图旋转一并算进去(横屏航向朝上时位移要换算回画布方向)。
新:上报状态栏可切「详细」 —— 多一行当前触发条件:哪一档、还有多少秒、距离打点还差多少米、转弯还差多少度(转弯那两个闸也如实摆出来)。新:心率异常告警 —— 读数越界弹警告并进通知栏,可拨紧急电话或向 100 公里内最近的 5 个台站发一条求助;只提醒,不代替你行动。新:外置 GPS 优先时手机 GPS 待机 —— 外置失效自动切回并明说是谁在供位。
修:公告更新后横幅重新出现;纯网络定位可单独选台站图标;2.0 未连接提示会说清缺什么;赞助入口挪到「关于」上方。更新页三处:渠道文案跟着当前渠道、长日志默认折叠(可展开)、下载完成后按钮变成「安装」。浮动面板与退出动画:面板高度与底部胶囊改用系统 UI 内边距(某些 ROM 上以前算成 0),退出设置子页的「一片纯色然后消失」也修好了。
v2.0.6 2026-09-28
历史轨迹新增心率记录与折线图。轨迹点开始记心率(来源与信标里的 HR= 一致:蓝牙心率带或佳明 LiveTrack),历史轨迹详情页多了心率 / 速度 / 里程三条折线,可逐条开关、也可整块隐藏;播放时有竖起指示线对着当前位置,心率那一栏还显示当天的最低–最高。没有心率读数的时间段曲线会断开(不连成直线)。一天最多 4 万个点,曲线进页时一次性分桶到 240 个点,播放时不掉帧。
Windows 可选音频设备与发射串口。音频页现在能选播放设备 / 采集设备,不再只能用系统默认 —— 这直接决定接到电台的是哪一路信号;TNC 设备页可以选发射串口,默认仍与接收共用一个口,分成两个口可以避开 Windows 上同一 COM 口读写互相打架的问题。(Android / iOS 不显示音频设备选择器:那里音频路由由系统决定,摆一个假开关只会误导人。)
修一轮用户反馈(#12 / #13 / #15 / #16 / #18 / #19)。① 电台身份卡片「更多附加」里的海拔 / 功率 / 天线高度 / 增益设过就删不掉 —— 留空的语义是「不发送」,但保存时只是跳过写入,旧值一直留在本地、重启又回来,现在留空会真的把它清掉;② 自定义状态会被 15 秒一次的心跳包顶掉,现在填了自定义状态就紧跟着补发一帧;③ Android 15 强制 edge-to-edge,三大金刚键压住页面底部按钮,现在滚动内容底部让出导航栏高度;④ 设置详情页面板展开 / 收起会闪一下或突然填充,现在高度与透明度一起动;⑤ 下载完成后「立即下载」按钮还在(拿文件名里的 2.0.5 去比 tag 的 v2.0.5,永远不相等),现在比较时忽略 v 前缀;⑥ 更新渠道默认改为 GitHub(更新页仍可一键切回镜像)。
v2.0.5 2026-09-27
修:2.0.4 的 PHG 在第三方侧其实没生效。2.0.4 发出的报文里,数据扩展被空格分隔(000/000 PHG2130 /A=000033),用参考实现 aprslib 解出来 phg 完全缺失、PHG2130 被当成普通备注文字 —— 也就是说第三方地图上看不到覆盖范围,这个功能等于没做。根因是两个独立的坑:① APRS101 把 PHG / /A= / CsT 定义为固定长度的数据扩展,必须紧贴符号、彼此之间不用空格(真实台站都是 …ErPHG1460/A=000071 这样);② CsT 与 PHG 争同一个「注释开头」,解析器先匹配 ^\d{3}/\d{3},一旦命中就只再看 DF 测向报文,根本不再去找 PHG,所以哪怕紧贴,只要 000/000 在前 PHG 也读不出来。
修法:扩展块整块紧贴,且首位让给 PHG —— 填了 PHG 时 CsT 不再随位置报文发送。修好后:!2155.17N/11052.40EbPHG2130/A=000033 Bat:22%(空格只出现在扩展块与备注之间)。一个取舍:同时填了 PHG 的移动台,aprs.fi 上就没有速度/方位角了 —— 两者都要「注释开头」这一个位置,无法共存;没填 PHG 的台站一切照旧。另把信标报文的第三方兼容性测试纳入 CI,这类「编译过、analyze 绿、第三方读不出」的问题从此有测试兜底。
v2.0.4 2026-09-27
位置报文数据扩展(PHG · APRS101 第 9 章):电台设置的「台站备注」下多了「高级设置」,可填功率(瓦)/ 天线高度(英尺)/ 增益(dB)。填任一项就附上固定 7 字节的 PHGphgd,留空则完全不发。量化照规范做:功率只取不超过实际值的最大档(25 W 报 25、30 W 也只报 25 —— 报大了等于虚报覆盖范围),天线高度按 10×2ⁿ 英尺取档;设置页把真正会被编进报文的结果回显出来(量化过程用户看不见,不摆出来就无从知道到底发了什么)。报文里的位置也照规范来:PHGphgd 紧跟符号(!坐标/符号 之后,排在 /A= 海拔与其它备注文字之前),与标准报文 …:!2216.45N/11113.90ErPHG5950 形状一致 —— 第三方解析器按「注释开头的数据扩展」识别 PHG,插在后面就读不出来。
独立状态报文:高级设置里可填状态文本,与位置报文共用一个「发射」按钮 —— 哪个有内容就发哪个,状态文本留空时发内置的 APRSlocus CONNECT vX.Y.Z 平台 在线帧。状态报文是独立一帧(> 开头、不含坐标、不会移动你在 aprs.fi 上的位置),所以没有定位也能发。发送时一律直接读输入框当前内容,不依赖输入事件的时序 —— 中文输入法组合输入时曾出现「明明填了,却发出默认帧」。此外新增手填海拔:留空跟随定位(默认行为不变),设置页显示当前将发出的 /A=aaaaaa 片段。
台站详情与地图信息窗:台站详情多出一行独立状态报文(紫色 + 播报图标),与「位置备注」分开显示 —— 两者来源不同(频点常写在位置备注里、设备来源常写在状态报文里),混成一行就分不出哪个是哪个;此前这类文本只进数据包页的原文,台站详情里彻底看不到。地图标记信息窗新增高度、位置备注、状态文本三行,且按需出现而不是常驻占位 —— 绝大多数台站没有这些字段,常驻只会给出两行 --,把「没有」和「没收到」显示成同一个样子。
本版修正:①「发射」按钮会先查链路,未连接时直接说明「请先连接链路」,不再静默只做本地记录;②填了 PHG 却还没有定位时,如实回执「带 PHG 的位置报文没能发出」;③状态报文改用自己的连接文案(此前只发状态帧,界面却写着「位置已上报」);④地图页「距下次上报」的秒数改为每秒刷新(此前没有台站刷新时会停住);⑤设备页「链路自检」不再出现两遍标题与副标题;⑥手机电量开关保持在信标页「信标上报内容」,默认值不变。
v2.0.2 2026-09-26
新增百度地图 / 百度卫星图源:百度不是 Web Mercator(BD-09 坐标 + 自有投影、瓦片 y 轴朝北),为此把「按图源切换投影」做到全链路 —— 渲染、标记 / 轨迹、沉浸地图、跟踪、历史回放、离线下载共用同一套投影,标记与瓦片不再错开。
新增「纯网络」定位模式:只用基站 / Wi-Fi(不注册 GPS),适合没有 GPS 的设备,也用于极端省电;自动上报使用专用固定间隔(默认 300 秒、可调),不必再开强制开关,也不走智能信标(网络没有可靠速度)。
公告支持内嵌视频:应用内公告改为手写 Markdown(简中 / 繁中 / 英文),@video 标记可在应用内播放(Android / iOS / macOS;Windows / Linux / Web 回退为在浏览器打开)。旧版本读到那行只会当普通文字(仍是可点链接)。
启动检查新版本:启动后检查一次,有新版时弹提醒(每版本只提醒一次、可稍后)。
修:地图信息窗仍显示「点击查看」—— 2.0.1 只改了生成的 l10n 产物、漏改 ARB 源,构建时被覆盖,现已改到位(六语言);Windows 构建移除与当前工具链不兼容的 webview_windows,改走外部浏览器。
v2.0.0 2026-09-25
TOUCH SKY · 2.0 正式版:1.5.8 → 2.0 的 322 次更新在这一版合流 —— 全新 UI 2.0(地图基底 + 可拖拽面板、底部胶囊导航、横屏三端统一)、磨砂玻璃与云母材质、沉浸地图与多图源、离线地图与轨迹回放、官方设备库识别、群聊与 7 家翻译、蓝牙 TNC 与声卡 TNC、iGate 与 PKWDWPL、iOS / macOS 原生定位、按转弯与按距离的智能信标、天气与短波传播建议、Android 桌面小组件、ADIF 导出与数据包控制台、佳明分享与蓝牙心率带、6 种界面语言。
v1.6.173 2026-09-24
佳明页补齐了「自动填充 / 确定按钮 / 状态显示」(用户实测反馈):① 链接框原来只在页面初始化时读一次,分享进来时页面已经开着就不会自动填充 —— 现在跟随状态同步,并显示「已自动填入分享链接」;② 原来只有一个含义模糊的开关(标签写着「追踪中」是状态不是动作)—— 现在是明确的 [开始追踪] / [停止追踪] 按钮;③ 新增状态卡:未开启追踪 / 追踪中(含已转发点数与最后更新时间)/ 抓取失败(含原因),链接框下面还会实时显示「链接有效」。分享到达的提示也从 4 秒延长到 8 秒,不容易错过
v1.6.172 2026-09-24
关于页名片卡不再贴着下面板块:原来名片卡下面直接就是「代码贡献」的节标题(间距 0),现在留 22(与其它节间距一致)。另外位置来源「听谁的」说清楚了:界面原来把来源拆成两半说(上报页「定位 / 模拟位置」、设备页「手机 GPS / 佳明」),看着像两件事。现在判断只有一处(positionSourceNow),两处都写明优先级:模拟/手动位置 › 佳明(手表有实时数据时)› 手机 GPS,上报页的选项也改名成「手机 GPS」(与设备页同名),并显示「当前使用:…」
v1.6.171 2026-09-24
佳明分享「有时候行有时候不行」修好了:① 取分享文本只读 EXTRA_TEXT,而不少应用(部分佳明版本 / 浏览器)把文本放在 clipData 里 —— 读到 null 就整条静默,这正是「时好时坏」的机制;② 读不到文本时直接静默返回,用户既没提示也没日志;③ 冷启动竞态:应用启动时那次分享可能在界面注册回调之前就到达,回调为 null 被丢掉(就是「跳转之后还是没有反馈」)—— 现在改成「有回调就调、没有就存起来」,界面起来后主动取一次。顺带把识别放宽:短链码长度不限 + 大小写不敏感
v1.6.170 2026-09-24
心率会说明来源(用户要求「如果链接了佳明就提示从佳明追踪获取」):心率有两个来源(BLE 胸带 / 佳明点里的心率)。佳明在供数据时,心率卡与「数据来源」卡的心率行都会写明「心率来自佳明 LiveTrack(手表)· 128 bpm」——没插胸带也不会再显示成「未连接」,数字是哪来的摆在明面上。另外关于页空隙(用户反馈「一些组件空隙不够」):节标题与卡片之间 8→12,致谢卡里「测试成员」标签到呼号胶囊 8→11、胶囊之间 8→10,BA3RZL 那组标签到胶囊 6→8
v1.6.169 2026-09-24
1.0 布局下「佳明分享」依然毫无反应:上一版把「分享里没有链接」也做成可见提示,但那个回调只注册在 2.0 外壳 —— 用 1.0 的用户分享完还是什么都看不到,和「没识别」一模一样。现在 1.0 两个回调都注册:收到链接给提示 +「去设置」,没找到链接也如实说一句(失败也看得见)
v1.6.168 2026-09-24
「位置来源」改成如实的状态行,不再是二选一(用户实测指出):没启动追踪时,「手机 GPS」照样画着实心选中圆点(其实什么都没在跑),「佳明」那行也能被「选中」——只看开关、没看追踪有没有启动。而且佳明与手机 GPS 本来不是二选一:手表直播时优先用手表,超过 120s 没新点自动交回手机。现在按实际情况显示:「未追踪(未启动定位)」/「追踪中」/「追踪中(手机 GPS 已让位)」/「链接有效,但佳明没有新点」;心率那行也显示当前 bpm
v1.6.167 2026-09-24
佳明接管时的上报 UI 说清了来源:位置来自手表时,上报横杠显示「佳明上报 · 45s · ❤128」(红色),而不是看不出差别的普通倒计时 —— 两者可能差几十公里。并且挡住粗定位覆盖手表位置:佳明断流后手机 GPS 会接回来,但基站/WiFi 粗点不行(它会拿偏几百米的质心替换手表位置,而横杠当时显示的是正常倒计时,用户完全看不出正在发错坐标)。另外佳明/心率成为「数据来源」里的可选来源(位置来源:手机 GPS / 佳明;心率来源:蓝牙心率带),与报文链路分开列;手动上报的提示现在会列出实际附带的内容(如「网格 FN20xx · 心率 128 bpm」)
v1.6.166 2026-09-24
修:佳明 App 分享的短链(gar.mn/…)之前根本进不来。佳明 App 的「分享」给的是短链,而应用只认长链(livetrack.garmin.com/session/…/token/…)、Android 分享入口也只放行那个域名 —— 于是「分享 → 选 APRSlocus」什么都没发生。现在两种链接都认(含只复制到 gar.mn/xxx 没有 https:// 的情况),抓取时跟随 301 跳转;写日志前把 token 打码 —— 分享链接本身就是读取实时位置的凭据
v1.6.165 2026-09-24
蓝牙心率带(BLE 标准心率服务 0x180D):信标设置页可搜索/连接/看当前心率,新增「信标附带心率」开关(默认开)——位置包备注里加 HR=nn,没有读数时什么都不发(发 HR=0 会被读成「心率 0」)。与 TNC 的蓝牙通道不冲突:TNC 走经典蓝牙 SPP、心率走 BLE GATT,本来就并行;并且绝不做经典蓝牙发现(那会打断 TNC 的 SPP 连接),同一台设备被两条链路抢占时会直接拒绝并说明原因
佳明 LiveTrack:手表的活动位置可以直接接进来。两条路——① 在佳明 Connect App 里「分享」选 APRSlocus(已注册系统分享入口),链接自动填入并开始追踪;② 信标设置页的「佳明 LiveTrack」里手动粘贴链接(也可从剪贴板取)。抓公开分享页的 trackPoints,取经纬度/海拔/速度/心率;只接受 120 秒内的点、积压超 60 秒跳点、两次转发至少隔 10 秒;佳明在跑时手机 GPS 自动让位
心率显示在主屏幕(地图左上第一个胶囊,带 BLE / Garmin 来源标记,没有读数时整块不显示);佳明接管期间补齐两处:① 航向——佳明的点没有航向字段,之前会沿用手机 GPS 的旧值(指南针停在旧方向),现用前后两点算出来;② 历史台账——之前没写而手机 GPS 又正让位,那段历史是空白,现已与 GPS 同一套落盘。另外设备页新增「其他数据来源」卡(心率带 + 佳明两个入口),与报文链路互不影响、可同时使用
v1.6.164 2026-09-24
修三处「挤 / 没填满 / 显示不全」:① 关于页分享弹层的标题与副标题原来零间隙地贴在一起,现在留 3px,头部与选项之间 14→18、选项之间 8→10;② 关于页封面——原来「容器宽/卡高 > 1.62」就改走 contain(怕裁掉火山),但卡高有 300 上限、容器宽到 600,于是任何 ≥600 宽的屏幕上都会走:照片缩成中间一条、两侧各空 75px,横屏时 Logo 卡正坐在左边空白上(就是「logo 背景没填满」);改成 cover + topCenter,铺满并保住雪顶;③ 消息页换栏原来按朝向判(只要横屏就走双栏),而 2.0 横屏把消息页装进≤560 的左面板(手机常 200~280),固定 280 的列表栏把会话区挤成负宽度 —— 现在只看可用宽度换栏、列表栏宽度跟着容器走,并新增窄容器行内降级(呼号可省略 / 群聊操作胶囊换行排,一个都不藏)
v1.6.163 2026-09-24
网络定位整体降权:粗定位(基站/Wi-Fi)不再自动上报。自动上报是「我在这里」的公开宣告,而粗点常年偏几百米、还会原地漂 —— 报出去就是个错坐标。地图上报横幅 / 沉浸地图 / 首页 / 设置页都会如实说明「网络定位中 · 暂不自动上报」,GPS 一回来立即恢复(手动「立即上报」不受影响)。三个门槛同时收紧:GPS 停更 120s→300s 才允许粗点兜底、粗点自身位移上限 8km→3km、粗点精度显示下限 150m→300m;粗点也不再推动 APRS-IS 过滤中心(过滤串按 0.01° 取整,一动就可能触发整条链路重连)
横屏在手机 / 平板 / 桌面三端的打磨:① 面板内的宽度不再按屏幕宽度算 —— 消息气泡原来取「屏幕宽 × 0.55」,桌面 1920 会算成 1056px,超出面板的部分被默默裁掉,长消息读不全(现在按消息区实际宽度);② 左上统计条在窄地图区自动降级为「在线 + 台站」(横屏面板展开时地图区常只剩 200 出头);③「矮横屏」改按顶栏之下的可用高度判断(未连接 / 公告横幅会各占一行),不再漏判「工具列最下面的定位按钮被裁掉、点不到」;④ 桌面端自绘按钮统一给鼠标手型指针(包一层 ClickCursor —— GestureDetector 没有 mouseCursor 参数)
关于页名片卡不再挤:头部内边距加大、标题与副标题间距 2→4px、标题 13.5→14.5、分享行更宽松、官网图标 32→34 并加了悬停说明(桌面端)
v1.6.162 2026-09-23
功能引导与地图浮层的重叠已修:上一版引导卡硬写 topBase+46,正好糊住「沉浸地图」入口。先改成同一竖列顺序排布,但按真实几何量过发现它与右上图例只差 1px 就相交(靠「差一点」压住的布局换个语言/缩放必翻车)—— 最终地图页与沉浸地图改用一次性底部弹层:全屏地图四周都是浮层,浮卡片找不到一定不重叠的位置;弹层只在页面真的在前台时才弹
引导卡做小做安静:底色 8%→6%、描边 22%→16%、图标底托 30→28;右侧 × 改成「知道了」文字按钮;地图那条文案改短(卡片在地图左侧列里只有约 300px 宽,原句会折四行)。另外把 check_landscape_layout.py 的判据从「数 leftInset 出现次数」改成按结构判 —— 数实现细节会误伤重构(这次就报了个假失败)
v1.6.161 2026-09-23
功能引导:16 个功能页首次进入时,正文顶部会显示一张可关闭的小提示卡(一句话说明这页能干什么、从哪下手);关掉即记为「已看」,之后不再出现、也不占位置。设置类子页顶栏另有「重看本页引导」按钮。覆盖地图、台站列表、沉浸地图、消息、数据包、设备、设置、离线地图、日志、备份、轨迹回放、主题、翻译、声卡 TNC、蓝牙 TNC、PKWDWPL
引导的「已看」记录存进设置并纳入备份(换机后不该把看过的提示卡再弹一遍);设置里新增「重新查看功能引导」,确认后清空记录、各页提示卡重新出现。新增 tool/check_guides.py 静态检查:引导表 ↔ 6 语言文案 ↔ 生成产物 ↔ 页面接入点四处一一对应(漏任一处都不会编译失败,只会「引导永远不出现」);该检查写完当次就抓出三处真问题
v1.6.160 2026-09-23
关于页名片卡不再压住封面:上一版让它上骑 14px 压住照片下缘,实机看照片底部被挡掉一条、圆角切在图上,像没对齐;现在退回封面下方、中间留 12px 间隙,封面是一张完整的照片
v1.6.159 2026-09-23
关于页重做:封面从 Logo 底图换成泰德峰实景照片,版本号收进右上角玻璃胶囊、Logo 与标题落到左下角压在渐变上;封面高度随窗口宽度走((宽 × 0.64),196~300),超宽屏改「整体装入」,不再把火山裁掉;桌面宽屏下封面与正文套同一个限宽容器(600)
关于页删掉「功能特性」一节(实时地图 / GPS / 信标 / 消息 / 自动连接 / 图层过滤 / FMO 七行 —— App 里已经看得见的功能不必再列一遍);「分享」从描边小胶囊改成整行可点的入口,分节标题加淡色底托图标与右侧细横线,页脚加分割线并标出封面摄影署名
关于页版式改成名片式:封面下缘骑一张名片卡(呼号 · 名字 + 官网图标 + 整行分享入口),分节从 8 个并成 5 个 —— 「开源致谢 + 许可证声明」并为「开源与许可」(四个开源项排 2×2 网格),「测试成员 + AI 算力支持 + 赞助与鸣谢」并为「致谢名单」(呼号做成可折行的 chip);去掉作者个人站 theez.top 与「站长」字样,官网按钮改指 App 官网(用户反馈里本来就有)
v1.6.158 2026-09-23
修「退出设置子页时公告横幅闪一下」:转场那份「底」原来用「值到 1 没有」判断转场结没结束 —— 而弹出时 reverse() 只改状态、值要下一帧才动,于是底下的页面整整透出一帧(开的材质或背景图时才看得见)
公告入口搬到设置主页最底下(备份之后、关于之前);设置子页里不再放横幅、只留开关。入口点它才联网,所以开关关着也能用 —— 不妨碍「关了就不在后台联网」那个承诺
v1.6.157 2026-09-23
公告横幅挪到主页(地图上方,1.0/2.0 都有),设置页也各留一条;点开改成底部弹层(长文可滚、可拖动关闭),横幅自带关闭按钮(关掉后设置里再打开即可)
修「主界面底图选择面板弹不出来」:那颗按钮的回调漏了括号(只是返回函数本身、从不调用)—— v1.6.151 起一直如此,编译与 analyze 都不会报
v1.6.156 2026-09-23
新增公告横幅(设置 → 显示,默认开):内容直接取自官网首页的公告区,改官网就能发通知、不用等新版;应用内渲染 Markdown(标题/列表/表格/图片)与超链接,断网时显示上次缓存的那份
智能信标新增第三路判据:按转弯打点 —— 转过设定角度就补一个点,角度每档可自定义(10~180°,0 = 关闭)。盘山路上车速慢、距离门限很久才够,而连续发卡弯正是最该有轨迹的地方
「台站备注」现在看得出能输入了:那一行原来是一片空白(无边框、无占位提示),和静态的「标签 + 值」行长得一样。现在空值有占位提示、输入区有底色与描边、聚焦时描边变蓝 —— 全仓 42 处输入行一起受益
v1.6.155 2026-09-23
修「地图上的按钮点了没反应」:图层、缩放那一列按钮原来只有中间那个小图标能点,现在整块都能点
未连接提示强化:地图上方会出现一条橙色横幅,整条可点即连,不再只靠右上角那颗小胶囊
进会话自动把面板升到最高档(输入框不再藏在底下);台站页「在地图查看」会切回地图并收起面板
v1.6.154 2026-09-23
实时轨迹采样从 10 秒细化到 1 秒,拐弯不再被切成斜线;发到服务器去的那些点用橙色小菱形标在轨迹上,数量与间隔一眼可见
智能信标支持「按距离打点」:每档可设「或移动 N 米」,走得快就补点、停下来退回纯定时
v1.6.153 2026-09-22
修 2.0 卡片面板「下沿被切成直角」:裁口改成底边圆角,半开时也是一张完整的圆角卡
v1.6.152 2026-09-22
磨砂玻璃再优化:同一簇浮层共享一次背景采样,只压在壁纸上的壳不再插模糊层 —— 列表滚动更顺,观感逐像素不变
v1.6.151 2026-09-22
2.0 横屏收拾五处只有真机才看得出的毛病:左侧竖条压住地图控件、右侧工具列被裁掉「定位」、底部让位把安全区算了两遍等
v1.6.150 2026-09-22
历史轨迹可点进某一天:地图上回放当天路线(轨迹随播放生长、0.5×~4× 倍速、跟随视角;超过 45 秒的停顿自动快进)
网络定位不再让位置飞来飞去:GPS 新鲜时粗定位点一律丢弃,GPS 停更 2 分钟以上才允许兜底
v1.6.149 2026-09-22
去掉台站聚合:矢量地图与自绘地图都回到「一台站一个标记」,低缩放的密度信息交给热力图(开关保留)
轨迹打点更准(Android):低速时用指南针补航向、用加速度计判断「有没有在动」,默认开启、可关
个人历史轨迹:按天保存在本地,设置页里看总里程 / 平均与最高速度 / 移动时长,可按天删除或一键清空
去掉「视野内无台站」提示浮条:地图上已有信息条与工具列,不再多挂一条挡内容
v1.6.139 2026-09-21
UI 2.0:以地图为基底的新布局,「显示设置」里可随时切回经典布局
v1.6.138 2026-09-20
界面材质:磨砂玻璃与云母两种材质,「显示设置」里可切换
v1.6.136 2026-09-19
新增「硬件串口」:Android 支持 USB-OTG 串口线接电台,桌面端可调串口参数
v1.6.135 2026-09-19
音频发射对方解不出:发射期间拉满音量、暂停麦克风,并给出接线与电平提示
v1.6.128 2026-09-18
离线地图:把当前视图的瓦片一次下到本机(断点续传、单区域上限 20 万张),断网、无信号也能看
v1.6.124 2026-09-18
主题:界面的颜色、图标、文字都能自己改,还能导出成 JSON 分享给别人
主题可以带背景图,用自己照片当界面底;导出也可带上图片(v1.6.125–126)
v1.6.123 2026-09-18
备份与恢复:设置与数据导出成一个 JSON,换机或重装后导入即可
v1.6.121 2026-09-17
短波组件新增 6m 波段预测;桌面组件支持暗黑模式;新增「系统状态」组件
v1.6.117 2026-09-17
短波与电离层传播:面板新增区块 + 独立桌面组件,SFI / Kp / A 指数与四个波段对的日 / 夜条件一眼看清
v1.6.114 2026-09-17
新增 Android 桌面小组件:天气 + 业余无线电提示,4 档尺寸自适应
v1.6.113 2026-09-15
修「越用越卡」:APRS-IS 连接被反复重建导致 socket 泄漏,长时间运行不再越来越慢
v1.6.109 2026-09-15
主页「手动上报」与「连接」按钮加大(高度 44、字号 13,更好点按)
可以只留 PKWDWPL 一条来源:拿电台当纯接收机用,地图 / 台账照常,界面会明说「本机不会发射」
v1.6.108 2026-09-15
新增第 4 条数据来源「PKWDWPL」:读取 Kenwood 电台输出的 $PKWDWPL 航点语句,收到的台站直接上图(只读链路,不会发射)
v1.6.107 2026-09-15
新增网关(iGate):把射频收到的报文转到 APRS-IS,带 qAr / qAR 来路标识、环路防护与 30 秒去重
数据来源改为多选:几条链路可以一起收报文,发射来源仍单独指定一条
v1.6.106 2026-09-14
真正修好「蓝牙 TNC 只能接收、不能发射」(Android)
v1.6.105 2026-09-14
设备设置页重构:从「一个什么都有的大页面」改为按问题分层的三页
群聊协议层收口成一个状态机(此前逻辑散落,边界情况容易出错)
v1.6.104 2026-09-14
新增数据来源「音频(声卡 TNC)」:用麦克风 / 扬声器接电台收发 AFSK 1200
新增「链路自检」:TNC 与音频都能一键分层排查
v1.6.100 2026-09-13
新增数据来源:蓝牙 TNC(含完整 KISS 控制)—— 从纯网络走向射频
聊天翻译:可双向、可对照、发送前先译成对方的语言
2.0 BETA 2026-09-15
TOUCH SKY:从纯网络走向射频,2.0 BETA 开发正式启程
感谢 APRS 社群、中继站、iGate、服务器维护者与所有开源项目
欢迎测试者、HAM 友与开发者加入 2.0 BETA
v1.6.18 2026-09-05
详情页新增「QRZ 呼号 / aprs.fi 位置」在线查看
新增繁體中文界面(设置 / OOBE 可选,全量翻译)
接入官方 APRS 设备库识别台站设备(厂商型号 + 设备类别)
v1.6.17 2026-09-05
台站筛选重做为单行常驻 chips,即点即筛,去掉 FMO 筛选项
v1.6.16 2026-09-05
台站筛选支持精确到具体设备型号(官方 tocalls 识别)
v1.6.5 2026-09-02
更新页新增「全部更新日志」入口,一次看全所有版本说明
地图视野内无台站时,点击提示弹出「地图帮助」面板
修复国际图源(Carto / OSM / Esri / OpenTopo)地图偏移,改用 WGS-84 投影
移除「显示全部台站」自适应,无台站提示改为打开帮助面板
v1.6.4 2026-09-02
台站详情新增速度 / 高度变化图表
图表时间范围可切换:10 分钟 / 30 分钟 / 1 小时 / 3 小时 / 全部
v1.6.3 2026-09-02
关于页新增「分享 APRSlocus」(系统分享 / 复制文案 / 打开下载页)
模拟位置模式隐藏 GPS 专属设置,手动定位前置显示
瓦片地图最小缩放扩展至全球视野(z=3)

查看完整更新记录 →

常见问题

从 Passcode 到后台耗电,能想到的问题都写在这里了。还有 23 题按主题分组的完整版,见 帮助中心。

为什么收不到消息 / 无法收发消息?

绝大多数情况是 Passcode 未验证。密码填 -1 只能连接,不能正常收发消息。请到 APRS Passcode 查询 生成自己的 Passcode 并填入「连接设置」。登录后若服务器返回 unverified,主页顶部会出现黄色警告横幅,点击「去设置」即可直达修改。

Passcode 该怎么设置?

在引导第 6 步或「设置 → 连接」中,用你的完整呼号(含 SSID 后缀,如 BG7LZQ-3)查询生成 Passcode 后填入即可。

连接失败 / 频繁掉线?

应用内置渐进式重连(8 → 16 → 32 → 60 秒)。若持续失败,请检查网络、确认服务器地址(默认 rotate.aprs2.net:14580)与端口是否被拦截,或在「连接设置」中更换服务器后点击「重新连接」。

手机上收不到周边台站?

检查「接收筛选」是否勾选了目标国家 / 地区,并确认接收范围(经纬度 + 半径)覆盖你的位置。默认只接收中国(B 开头)台站。

后台定位会一直耗电吗?

Android 端使用前台服务持续定位以保持 APRS 在线,可在「定位 / 信标」设置中调整上报间隔,或关闭信标上报、按需手动上报来降低耗电。通知栏可一键「退出」应用。

Windows 上地图显示异常?

建议在「显示 → 地图类型」中切换为矢量地图(无需 API Key,兼容性最好),或使用 Carto / OSM / Esri 等国际图源。

覆盖安装提示签名冲突 / 版本降级?

自 1.5.2 起 Android 使用正式 release 签名,CI 与本地签名一致,直接覆盖安装即可。若从更老版本升级,请卸载后重装。

聊聊、反馈、一起开发

Star、提 Issue、发 PR,或者直接进 QQ 群 / Discord 唠嗑,都欢迎。

贡献者

感谢每一位让 APRSlocus 变得更好的人。

开发
D BG7LZQ (Darion)作者 · 全栈开发
翻译 / 国际化
B BD3QIDEnglish 翻译 B BA4UAX繁體中文 翻译 K BA7KSM翻译
代码贡献
B BD3QIDWLAN 电台直连 零 清零 (BG2HCB)设置页代码优化 G BH7GZB贡献代码
支持
B BA3RZLAI 算力支持 N BH7NOR协议接口支持 A APRS.TVAPRS.TV 接口支持
测试
P BG7PGW功能测试 L BG7LMW功能测试 O BG7OSL功能测试 I BG4LZYBug 提交与反馈
赞助
S STUDENT HAMS 群组感谢群组的资金赞助,支持 APRSlocus 持续开发与运营。 P BG7PGW感谢赞助的蜜雪冰城一杯 🧋 O BG7ORC赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 J BA4JLD青岛科技大学业余无线电俱乐部 · 赠我以琼琚 I BA4IUD赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 F BD1FEH赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 R BA3RZL赠我以琼琚 · 以算力为琼琚,燃此长夜灯火 E BG2EFX赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 W BG2WX赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 A BA8AZJ赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 L BG7LZQ赠我以琼琚 · 承君厚赠,藏之于心;唯有砥砺,以报清音 T BD4TYW赠我以琼琚 · 投我琼琚,报以长波 W BH2WIX赠我以琼琚 · 琼琚有价,清音无价 Q BG7QZC赠我以琼琚 · 琼琚虽微,长波可寄 H BH4HGA赠我以琼琚 · 琼琚在手,回响不息 N BH7NOR协议接口支持 A APRS.TVAPRS.TV 接口支持 每 每一位支持者你们的每一份支持,都是 APRSlocus 继续发光的动力。

想加入列表?翻译、提 PR 或报 Bug 都可以 —— 查看贡献指南 →

友情链接

与同行者的网站对望,感谢互相链接。