后才能夠進(jìn)行離線導(dǎo)航。
2.地圖數(shù)據(jù)存儲(chǔ)
地圖數(shù)據(jù)存儲(chǔ)分為兩種方式,一種是基于本地存儲(chǔ)技術(shù),即將地圖數(shù)據(jù)存儲(chǔ)在用戶的終端設(shè)備中,另一種是基于服務(wù)器存儲(chǔ)技術(shù),即將地圖數(shù)據(jù)存儲(chǔ)在服務(wù)器上。
基于本地存儲(chǔ)技術(shù)的地圖數(shù)據(jù)存儲(chǔ)通常采用離線地圖包的方式,用戶需要先下載一個(gè)離線地圖包,然后安裝到本地設(shè)備上,進(jìn)行存儲(chǔ)。當(dāng)用戶需要進(jìn)行離線導(dǎo)航時(shí),就可以直接從本地離線地圖包中讀取地圖數(shù)據(jù)。
基于服務(wù)器存儲(chǔ)技術(shù)的地圖數(shù)據(jù)存儲(chǔ)通常采用一種叫做“增量更新”的技術(shù)。即在更新地圖數(shù)據(jù)時(shí),只下載新加入的部分地圖數(shù)據(jù),而不是重新下載整個(gè)地圖數(shù)據(jù),這樣可以減少數(shù)據(jù)傳輸量。
3.導(dǎo)航算法
離線導(dǎo)航需要用到一系列的導(dǎo)航算法,包括尋路算法、路徑優(yōu)化算法、導(dǎo)航指令生成算法等。這些算法可以APP開發(fā)在地圖數(shù)據(jù)的基礎(chǔ)上進(jìn)行計(jì)算,生成一條最優(yōu)路徑,確定行車路線。
4.語音播報(bào)與地圖展示
離線導(dǎo)航需要實(shí)現(xiàn)語音播報(bào)和地圖展示功能。在行車過程中,導(dǎo)航應(yīng)用會(huì)不斷播報(bào)語音提示,提示用戶當(dāng)前位置和需要轉(zhuǎn)彎的方向。同時(shí),地圖上也會(huì)顯示用戶位置、行車路線等信息。
總體來說,APP離線導(dǎo)航原理雖然復(fù)雜,但實(shí)現(xiàn)起來并不難。目前很多地圖應(yīng)用都提供了離線導(dǎo)航功能,使用起來簡(jiǎn)單方便,在沒有網(wǎng)絡(luò)的情況下也可以實(shí)現(xiàn)導(dǎo)航功能。