高德地圖發(fā)布最新開發(fā)SDK,解決GPS周數(shù)導致的定位時間異常
2023-05-08 15:05:41
高德地圖今天發(fā)布最新消息,因為GPS周數(shù)異常導致偶爾定位時間出現(xiàn)錯誤,發(fā)布解決方案,查看下面詳情。
一、問題原因
本次事件是由于GPS用來處理導航信號的周元素(Week Element)的方式引起的一個已知問題。GPS采用10比特定義域來對每個GPS時間信息中的周數(shù)進行編碼,最多可以處理1024個周,這個期間被稱為一個Epoch。在每個Epoch的結束時,接收機將周數(shù)復位為第0周,然后再次開始計數(shù)。GPS第一次周數(shù)清零時間為1999年8月22日,第二次清零為2019年4月7日。(注:因不同廠商GPS芯片內(nèi)部處理邏輯不同,日期可能為1999年8月22日或其他錯誤日期)
二、影響產(chǎn)品
Android 定位SDK4.5.0及以下版本
三、影響點
1. 使用上述高德定位SDK獲取到的定位類型為GPS定位的定位點時間,部分設備會返回錯誤日期。
2. 下游業(yè)務邏輯依賴此時間進行邏輯處理的,會導致判斷異常。
四、解決方案
針對本次事件,在GPS周數(shù)翻轉時刻,高德開放平臺將采用系統(tǒng)時間和GPS對比的方法,如果二者相差超過一年,則時分秒取GPS時間,年月日取系統(tǒng)時間,以解決周數(shù)翻轉帶來的時間跳變問題使開發(fā)者內(nèi)部用錯時間。
五、建議修復方式
方案一:自主排查GPS定位時間的使用范圍,當該時間參與業(yè)務邏輯時,需要添加如下兼容邏輯。
方案二:更新至新版Android 定位SDK(新版本已于4月2日發(fā)布)。