R Roam 取得 Roam

沒有訊號、開了飛航模式,GPS 還定得到位嗎?

定得到——而且原因本身就解釋了大部分人對手機定位的誤會。手機是靠「聽」算出自己在哪裡,不是靠「問」。行動數據真正替你買到的,是更快的第一次定位,以及底下那張圖。

簡短的答案是:定得到。在一格訊號都沒有的山上、在 SIM 卡完全不通的國外、在飛航模式開著的時候,手機都算得出自己在哪裡——前提是飛航模式沒有順手把定位服務也一起關掉,而 iOS 並不會這樣做。

這個誤會值得花點時間拆開來看,因為幾乎每個人都有過同一種經驗:在收訊死角打開地圖 App,看見一個藍點停在一片灰色方塊上,於是認定定位壞了。定位沒有壞,是地圖沒有載進來。那是兩套完全不同的系統,只是剛好畫在同一個畫面上。

手機是在聽,不是在問

衛星定位接收器,字面上就是一台接收器。天上大約三十顆 GNSS 衛星持續廣播著訊號,內容大致是:「我是第十一號衛星,這是我的軌道參數,我的時鐘現在指在這裡。」訊號單向從太空傳到你身上,手機從頭到尾不會回傳任何東西,也沒有任何一顆衛星知道你存在。

接收器從四顆以上衛星訊號抵達時間的細微差異,解出四個未知數:你的緯度、你的經度、你的高度,以及它自己那顆廉價時鐘與原子時間之間的偏差。整套把戲就是這樣。它需要的只有一片還算開闊的天空,除此之外什麼都不要:不要 SIM 卡、不要數據方案、不要 Wi-Fi、不要帳號、不要訂閱。

這也是為什麼 GNSS 在地球上任何地方都免費,以及為什麼你的位置不會被「用完」。不管有沒有人在聽,衛星都照樣廣播。

那行動數據到底在做什麼?

兩件事,而且兩件都不是定位本身。

讓第一次定位快一點

要快速找到衛星,接收器得先大致知道它們此刻在哪裡。這份資料——曆書與星曆——衛星自己也在廣播,只是慢:從完全冷的狀態靠空中訊號收齊,可能要三十秒到好幾分鐘。輔助式 GNSS 做的事情很單純,就是把同一份軌道資料改從網路上抓下來,不到一秒就好,接收器因此知道該往哪裡找。

沒有輔助資料,就是一次冷啟動。定位還是會來,只是要等比較久。實際上這才是大家在收訊死角真正會察覺到的那件事,也是為什麼出發前在登山口站著等一分鐘是值得的。

底下那張地圖

地圖圖磚——街道、等高線、衛星影像——是從伺服器抓回來的圖片,跟定位一點關係都沒有。沒有網路,你拿得到座標,但沒有底圖可以把座標畫上去,那正是灰色方塊的由來:少掉的是一張圖,不是一個位置。

沒訊號的時候,還是會出狀況的部分

在完全沒有訊號的地方記錄一趟路

對一個記錄工具來說,真正要緊的問題不是定位收不收得到——收得到——而是 App 把它放到哪裡去。把整趟路先堆在記憶體裡、結束後再一次上傳的 App,等於自己造了一個定位系統本身並不需要的網路依賴。連「過去的紀錄清單」都要從伺服器讀的 App,造了第二個,而那一個才真的會痛:你騎進隧道,打開 App,你的所有紀錄看起來全不見了。

Roam 走的是另一條路,而且是結構上的。每一個定位點一收到就立刻寫進手機裡的資料庫,和這趟路當下的累計數字在同一個交易裡落地,所以不存在「已經騎完的一公里只活在記憶體裡」這種空窗。列出你所有紀錄的那個畫面,讀的就是同一個本機資料庫,而且沒有別的地方可讀——專案裡有一道建置關卡,會把整個功能掃過一遍找網路相關的符號,只要出現一個就讓建置失敗。會有這道關卡,正是因為這個 App 早期的版本真的從伺服器讀清單,也真的做出了上面說的那種「在隧道裡打開,看到一片空的清單」。

老實說有一個例外,就是地圖的底圖影像,它跟任何地圖一樣,是從圖磚伺服器抓回來的。沒有網路,你的軌跡線照樣畫得出來、算得出來、存得下來,只是線後面的街道可能不會出現。那是世界的圖片沒到,不是你的紀錄不見了。

常見問題

飛航模式下 GPS 還能用嗎?

可以。飛航模式關掉的是發射端——行動網路,預設還有 Wi-Fi 和藍牙——而 GNSS 接收是被動的,不受影響。在 iOS 上,定位服務是另一個獨立的開關,不會被飛航模式關掉。你會遇到的是第一次定位比較慢,因為輔助式 GNSS 沒辦法下載軌道資料,另外就是沒有地圖圖磚。

GPS 會吃行動數據嗎?

定位本身一點都不吃。輔助式 GNSS 會下載幾 KB 的軌道資料來加快第一次定位,而地圖圖磚則可能吃掉非常多流量——但那是地圖,不是定位。

沒訊號的時候,手機為什麼說「無法取得位置」?

多半是冷啟動還沒跑完,或者你所在的地方根本看不到天空。走到室外、站著別動、給它一分鐘。如果某個 App 給你的是一個空畫面,而不是一個慢畫面,那它在等的八成是伺服器,不是衛星。

出國健行可以不開漫遊就記錄嗎?

可以。把手機切到飛航模式,照常記錄就好——定位不花錢,也不經過網路。唯一會受影響的是需要抓圖磚的地圖,所以出發前先把想要的離線地圖下載好,或者接受一條畫在空白背景上的軌跡線。

一個不會把這趟弄丟的記錄 App

Roam 每收到一個定位點就立刻寫進手機,和當下的累計數字在同一個交易裡落地;訊號斷掉的那一段就標成斷的,不拿一條直線糊過去;爬升讀的是氣壓計,不是 GPS 高度。沒有帳號、不用登入、不做同步。完整記錄一趟、看它、回放它,都是免費的。

在 App Store 下載

相關文章

全部文章