本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種顯示行車動畫的方法及裝置。
背景技術(shù):
在網(wǎng)絡(luò)打車系統(tǒng)中,為了使得司機(jī)可以在地圖上實(shí)時的看看自己的當(dāng)前位置以及乘客的上下車地點(diǎn),為司機(jī)提供更加清晰明了的乘客位置信息以及下車地點(diǎn)信息和路線信息,需要在司機(jī)端上顯示的車輛動畫。
而在現(xiàn)有的司機(jī)端顯示車輛動畫的技術(shù)中,一種方法是調(diào)用電子地圖的路線規(guī)劃接口,以返回一組車輛的經(jīng)緯度點(diǎn)用于車輛動畫。但這種方式獲得的不是實(shí)時的司機(jī)位置。另一種方法是利用GPS定位,但是需要在行車過程中連續(xù)地調(diào)用,造成性能損失較大。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提出了一種顯示行車動畫的方法及裝置,用以解決顯示現(xiàn)有技術(shù)中行車動顯示的實(shí)時性較差,以及性能損失較大的問題。
具體的技術(shù)方案如下:
一種顯示行車動畫的方法,所述方法包括:
通過踩點(diǎn)定位裝置采集第一經(jīng)緯度以及第二經(jīng)緯度,并確定采集所述第一經(jīng)緯度與所述第二經(jīng)緯度之間的時間間隔;
將所述時間間隔劃分為N等份,其中,N為大于等于2的正整數(shù);
根據(jù)劃分的時間間隔,確定N條行車動畫;
在所述第一經(jīng)緯度以及第二經(jīng)緯度之間依次顯示所述N條行車動畫。
可選的,在通過踩點(diǎn)定位裝置采集第一經(jīng)緯度以及第二經(jīng)緯度之前,所述方法還包括:
獲取所述踩點(diǎn)定位裝置的位移值;
判定所述位移值是否大于位移閾值;
在所述位移值大于位移閾值時,則判定定位精度值是否大于精度閾值;
若是,則停止經(jīng)緯度采集;
若否,則執(zhí)行所述第一經(jīng)緯度以及所述第二經(jīng)緯度的采集。
可選的,在確定采集所述第一經(jīng)緯度與所述第二經(jīng)緯度之間的時間間隔之后,以及在將所述時間間隔劃分為N等份之前,所述方法還包括:
檢測所述時間間隔是否大于第一預(yù)設(shè)時間間隔,或者小于第二預(yù)設(shè)時間間隔;
若是,則調(diào)取預(yù)設(shè)時間間隔,并使用所述預(yù)置時間間隔替換根據(jù)所述第一經(jīng)緯度以及所述第二經(jīng)緯度確定出的所述時間間隔;
若否,則使用所述確定出所述時間間隔。
可選的,確定N條行車動畫,包括:
將所述第一經(jīng)緯度轉(zhuǎn)換為第一坐標(biāo)點(diǎn),并將所述第二經(jīng)緯度轉(zhuǎn)換為第二坐標(biāo)點(diǎn),其中,所述第一坐標(biāo)點(diǎn)以及所述第二坐標(biāo)點(diǎn)位于設(shè)定直角坐標(biāo)系內(nèi);
將所述第一坐標(biāo)點(diǎn)作為坐標(biāo)原點(diǎn),根據(jù)設(shè)定運(yùn)算規(guī)則,確定所述第一坐標(biāo)點(diǎn)與所述第二坐標(biāo)點(diǎn)之間的夾角;
將所述夾角作為行車轉(zhuǎn)向角度;
基于所述行車轉(zhuǎn)向角度,確定N條行車動畫。
可選的,在所述第一經(jīng)緯度以及第二經(jīng)緯度之間依次顯示所述N條行車動畫之后,所述方法還包括:
檢測添加了所述N條行車動畫的行車動畫組中是否添加新行車動畫;
若是,則繼續(xù)顯示新添加的行車動畫;
若否,則停止行車動畫顯示。
一種顯示行車動畫的裝置,所述裝置包括:
定位模塊,用于采集第一經(jīng)緯度以及第二經(jīng)緯度,并確定采集所述第一經(jīng)緯度與所述第二經(jīng)緯度之間的時間間隔;
處理模塊,用于將所述時間間隔劃分為N等份,根據(jù)劃分的時間間隔,確定N條行車動畫,其中,N為大于等于2的正整數(shù);
顯示模塊,用于在所述第一經(jīng)緯度以及第二經(jīng)緯度之間依次顯示所述N條行車動畫。
可選的,所述定位模塊,還用于獲取所述踩點(diǎn)定位裝置的位移值;
所述處理模塊,還用于判定所述位移值是否大于位移閾值,在所述位移值大于位移閾值時,則判定定位精度值是否大于精度閾值,若是,則指示所述定位模塊停止經(jīng)緯度采集;若否,則指示所述定位模塊采集所述第一經(jīng)緯度以及所述第二經(jīng)緯度。
可選的,所述處理模塊,具體用于檢測所述時間間隔是否大于第一預(yù)設(shè)時間間隔,或者小于第二預(yù)設(shè)時間間隔;若是,則調(diào)取預(yù)設(shè)時間間隔,并使用所述預(yù)置時間間隔替換根據(jù)所述第一經(jīng)緯度以及所述第二經(jīng)緯度確定出的所述時間間隔;若否,則使用所述確定出所述時間間隔。
可選的,所述處理模塊,具體用于將所述第一經(jīng)緯度轉(zhuǎn)換為第一坐標(biāo)點(diǎn),并將所述第二經(jīng)緯度轉(zhuǎn)換為第二坐標(biāo)點(diǎn),其中,所述第一坐標(biāo)點(diǎn)以及所述第二坐標(biāo)點(diǎn)位于設(shè)定直角坐標(biāo)系內(nèi);將所述第一坐標(biāo)點(diǎn)作為坐標(biāo)原點(diǎn),根據(jù)設(shè)定運(yùn)算規(guī)則,確定所述第一坐標(biāo)點(diǎn)與所述第二坐標(biāo)點(diǎn)之間的夾角;將所述夾角作為行車轉(zhuǎn)向角度;基于所述行車轉(zhuǎn)向角度,確定N條行車動畫。
可選的,所述裝置還包括:
檢測模塊,用于檢測添加了所述N條行車動畫的行車動畫組中是否添加新行車動畫;若是,則繼續(xù)顯示新添加的行車動畫;若否,則停止行車動畫顯示。
上述方法司中通過踩點(diǎn)方法有效的解決了定位實(shí)時性,以及性能損耗較高的問題。并且根據(jù)經(jīng)緯度點(diǎn)坐標(biāo)判斷出是否需要轉(zhuǎn)向,讓車輛動畫更加真實(shí)。通過采用合理的動畫執(zhí)行時間,因而能夠讓車輛動畫更加連續(xù)和平滑,從而提高了用戶的體驗(yàn)。
附圖說明
圖1所示為本發(fā)明實(shí)施例中一種顯示行車動畫的方法流程圖;
圖2所示為本發(fā)明實(shí)施例中通過直角坐標(biāo)確定轉(zhuǎn)向角度的示意圖之一;
圖3所示為本發(fā)明實(shí)施例中通過直角坐標(biāo)確定轉(zhuǎn)向角度的示意圖之二;
圖4所示為本發(fā)明實(shí)施例中一種顯示行車動畫的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合說明書附圖,以及具體實(shí)施例對本發(fā)明技術(shù)方案做詳細(xì)的說明,應(yīng)當(dāng)理解,本發(fā)明實(shí)施例以及實(shí)施例中的具體技術(shù)特征只是對本發(fā)明技術(shù)方案的說明,而不是限定,在不沖突的情況下,本發(fā)明實(shí)施例以及實(shí)施例中的具體技術(shù)特征可以相互組合。
如圖1所示為本發(fā)明實(shí)施例中一種顯示行車動畫的方法流程圖,該方法包括:
S101,通過踩點(diǎn)定位裝置采集第一經(jīng)緯度以及第二經(jīng)緯度,并確定第一經(jīng)緯度與第二經(jīng)緯度之間的時間間隔;
S102,將時間間隔劃分為N等份;
S103,根據(jù)劃分的時間間隔,確定N條行車動畫;
S104,在第一經(jīng)緯度以及第二經(jīng)緯度之間依次顯示N條行車動畫。
首先來講,本發(fā)明實(shí)施例所提供的方法可以應(yīng)用到一些智能設(shè)備中,比如說手機(jī)、平板電腦等智能設(shè)備,當(dāng)然,該方法可以應(yīng)用到一些特定的設(shè)備中,比如說汽車上的行車狀態(tài)顯示設(shè)備等等。
進(jìn)一步,在執(zhí)行S101之前,獲取踩點(diǎn)定位裝置的位移值,該位移值可以是裝載了踩點(diǎn)定位裝置的智能設(shè)備的位移值。
判定檢測到的位移值是否大于位移閾值,若位移值小于位移閾值時,則說明移動較近,不需要進(jìn)行踩點(diǎn)定位,更不需要實(shí)時顯示移動位置。這樣減少系統(tǒng)負(fù)載,減少系統(tǒng)功耗。
若是大于位移閾值時,則繼續(xù)判定定位精度值是否大于精度閾值。
若定位精度值大于精度閾值時,則踩點(diǎn)定位裝置停止經(jīng)緯度采集,這樣可以確定行車位置的精度提高。
若定位精度值小于精度閾值時,則采集定位裝置采集經(jīng)緯度。
距離來講,若是位移閾值為50m,則汽車位移小于50m,則不進(jìn)行經(jīng)緯度采集;若是汽車位移大于50m,則繼續(xù)判定定位精度是否大于70m,若是定位精度大于70m時,則說明定位精度較差,不進(jìn)行定位采集;若是定位精度小于70m,則說明定位準(zhǔn)確性較高,則可以通過踩點(diǎn)定位裝置進(jìn)行經(jīng)緯度采集。
在執(zhí)行經(jīng)緯度采集時,本發(fā)明實(shí)施例可以通過踩點(diǎn)定位裝置來采集第一經(jīng)緯度以及第二經(jīng)緯度,而不是通過調(diào)用GPS的CLLocationManager接口來獲取車輛位置,這在很大程度上降低了系統(tǒng)的負(fù)載,從而避免了性能的損失。
具體來講,該踩點(diǎn)定位裝置是可以放置到智能設(shè)備中,該智能設(shè)備可以與基站之間進(jìn)行通信,比如說手機(jī),這樣就可以通過與手機(jī)與基站之間的距離計(jì)算出一個精確位置,這樣就實(shí)現(xiàn)了踩點(diǎn)定位來采集到第一經(jīng)緯度以及第二經(jīng)緯度,這里的實(shí)現(xiàn)還可以參照離線導(dǎo)航原理。
在本實(shí)施例中,新采集到第一經(jīng)緯度以及第二經(jīng)緯度可以放到一個待執(zhí)行經(jīng)緯度點(diǎn)數(shù)組中,并判斷此時小車是否在執(zhí)行動畫。如果正在執(zhí)行行車動畫,程序返回。
若此時沒有行車動畫在執(zhí)行,則以該數(shù)組中最先采集的兩個相鄰的經(jīng)緯度點(diǎn)為動畫起點(diǎn)開始執(zhí)行動畫。
在執(zhí)行行車動畫之前,首先要確定出N條行車動畫,這N條行車動畫的確定原理如下:
首先,基于采集第一經(jīng)緯度的時間以及采集第二經(jīng)緯度的時間,可以確定出一個時間間隔。
為了提高用戶體驗(yàn),動畫執(zhí)行的時間應(yīng)該盡量車輛真實(shí)的運(yùn)行時間相一致,所以檢測該時間間隔是否大于第一預(yù)設(shè)時間間隔。若該時間間隔大于第一預(yù)設(shè)時間間隔,則使用預(yù)置時間間隔替換根據(jù)第一經(jīng)緯度以及第二經(jīng)緯度確定出的時間間隔。
若是該時間間隔小于第一預(yù)設(shè)時間間隔,則使用確定出的該時間間隔。
通過對時間間隔的判定可以避免因?yàn)闀r間間隔差異較大導(dǎo)致動畫顯示準(zhǔn)確性較低的問題,比如說,可以避免因?yàn)槠嚨却t綠燈或者堵車導(dǎo)致前后兩個經(jīng)緯度之間的時間間隔特別大,從而導(dǎo)致確定行車動畫的準(zhǔn)確性降低的問題。這樣就可以準(zhǔn)確的確定行車動畫。
另外,還可以將確定出的時間間隔與第二預(yù)設(shè)時間間隔進(jìn)行比較判定,這里的第二預(yù)設(shè)時間間隔小于第一預(yù)設(shè)時間間隔。
若是確定出的時間間隔小于第二預(yù)設(shè)時間間隔,則此時對行車定位的精度也將產(chǎn)生較大影響,所以使用預(yù)置時間間隔替換根據(jù)第一經(jīng)緯度以及第二經(jīng)緯度確定出的時間間隔。
若是確定出的時間間隔大于第二預(yù)設(shè)時間間隔,則使用確定出的時間間隔。
在確定出合理的時間間隔之后,將該時間間隔劃分為N等份,這里的N為大于等于2的正整數(shù)?;趧澐殖龅腘等份時間間隔,分別確定出N條行車動畫,并將N條行車動畫添加到行車動畫組中,這N條行車動畫是與N個時間間隔一一對應(yīng)的,這樣就使得行車過程中行車動畫能夠隨經(jīng)緯度實(shí)時的一對一顯示。
舉例來講,本實(shí)施例可以采用10等分點(diǎn),即,在兩點(diǎn)間按時間和空間分為10個時間等分點(diǎn)和10個空間等分點(diǎn),然后在其中每個時間點(diǎn)在其對應(yīng)的空間點(diǎn)上對應(yīng)確定出車輛圖標(biāo),以形成動畫。但是,應(yīng)該明白,根據(jù)實(shí)際需要可以使用其他的等分份數(shù)。
進(jìn)一步,在本發(fā)明實(shí)施例中,在動畫分組執(zhí)行時,用先采集的第一經(jīng)緯度點(diǎn)作為該組動畫起點(diǎn),用后采集的第二經(jīng)緯度點(diǎn)作為該組動畫的終點(diǎn)。即利用采集點(diǎn)的時間順序來確定動畫中車輛行駛的方向。
在車輛的實(shí)際行駛過程中,車輛經(jīng)常需要轉(zhuǎn)向。如果在動畫中不能準(zhǔn)確體現(xiàn)車輛方向的改變,會使得動畫的真實(shí)感降低。
因而,在本實(shí)施例中,利用上述第一經(jīng)緯度以及第二經(jīng)緯度可以計(jì)算行車的轉(zhuǎn)向,點(diǎn)坐標(biāo)計(jì)算動畫中車頭方向。這樣,在動畫中能夠較為準(zhǔn)確地體現(xiàn)車頭的方向。
具體來講,該對行車轉(zhuǎn)向的確定原理如下:
首先建立一個直角坐標(biāo)系,該直角坐標(biāo)系可以在地圖的設(shè)定位置建立,也可以自定義坐標(biāo)系。
基于該直角坐標(biāo)系,將第一經(jīng)緯度轉(zhuǎn)換為第一坐標(biāo)點(diǎn),并將第二經(jīng)緯度轉(zhuǎn)換為第二坐標(biāo)點(diǎn),其中,第一坐標(biāo)點(diǎn)以及第二坐標(biāo)點(diǎn)位于設(shè)定直角坐標(biāo)系內(nèi);
在本發(fā)明實(shí)施例中,可以將第一坐標(biāo)點(diǎn)作為坐標(biāo)原點(diǎn),根據(jù)設(shè)定運(yùn)算規(guī)則,確定第一坐標(biāo)點(diǎn)與第二坐標(biāo)點(diǎn)之間的夾角;將夾角作為行車轉(zhuǎn)向角度。
比如如圖2所示,在圖2中,A點(diǎn)為第一經(jīng)緯度轉(zhuǎn)換出的坐標(biāo)點(diǎn),B點(diǎn)為第二經(jīng)緯度轉(zhuǎn)換出的坐標(biāo)點(diǎn)。通過幾何知識就可以確定A、B之間的連線與坐標(biāo)X軸之間的夾角,這個夾角就可以確定為汽車從A點(diǎn)到B點(diǎn)之間轉(zhuǎn)向角度。
當(dāng)然,在本發(fā)明實(shí)施例中,除了通過上述的2個點(diǎn)來確定汽車轉(zhuǎn)向之外,還可以通過3個點(diǎn)來確定出汽車轉(zhuǎn)向。如圖3所示為通過3個點(diǎn)來確定汽車轉(zhuǎn)向的方法。
具體地,A,B,C分別是踩點(diǎn)程序先后采集的三個相鄰點(diǎn),A點(diǎn)為采集到第一經(jīng)緯度之前的一個坐標(biāo)點(diǎn),B點(diǎn)為第一經(jīng)緯度轉(zhuǎn)換出的坐標(biāo)點(diǎn),C點(diǎn)為第二經(jīng)緯度轉(zhuǎn)換出的坐標(biāo)點(diǎn)。
其經(jīng)緯度轉(zhuǎn)換的直角坐標(biāo)分別是A(XA,YA), B(XB,YB), C(XC,YC)。
依據(jù)幾何知識可以得到,AB段車輛方向與X軸的夾角為:
θAB = arcCos( (YB- YA)/( XB- XA) )
BC段車輛方向與X軸的夾角為:
θBC = arcCos( (YC- YB)/( XC- XB) )
因而,車輛在B處轉(zhuǎn)動的角度為:
θ=θBC -θAB = arcCos( (YC- YB)/( XC- XB) ) - arcCos( (YB- YA)/( XB- XA) )
應(yīng)該明白,上面列出的僅僅是計(jì)算車輛方向和轉(zhuǎn)動角度的一種示例性方式,技術(shù)人員可以依據(jù)需要選擇其他方式從車輛的直角坐標(biāo)計(jì)算出車輛的方向和轉(zhuǎn)動角度。
由于通過上述處理,本段動畫的起止坐標(biāo)點(diǎn)和時間都已經(jīng)確定,因而可以繪制本段動畫。為了在司機(jī)端設(shè)備上顯示車輛運(yùn)動,在上述兩個經(jīng)緯度點(diǎn)之間繪制動畫車輛。
動畫即是在地圖上的起止點(diǎn)之間按時間和位置順序繪制車輛。為了動畫連續(xù)和平滑,動畫車輛繪制在在兩個經(jīng)緯度點(diǎn)之間空間和時間間隔的等分點(diǎn)上。
在該組動畫執(zhí)行完后,會從待執(zhí)行經(jīng)緯度點(diǎn)數(shù)組中刪除作為起點(diǎn)的經(jīng)緯度點(diǎn),以避免重復(fù)執(zhí)行一段動畫。
在本示例性實(shí)施例中,車輛動畫被采樣點(diǎn)分割為多組動畫,以多組動畫的連續(xù)執(zhí)行來顯示車輛的完整運(yùn)行情況。因而,在執(zhí)行完一組動畫后,司機(jī)端設(shè)備按經(jīng)緯度點(diǎn)采集的時間順序執(zhí)行下一組動畫。具體地址,司機(jī)端設(shè)備檢查待執(zhí)行經(jīng)緯度點(diǎn)數(shù)組中是否有沒有執(zhí)行的點(diǎn),如果有,則按S102~S104的方法執(zhí)行下一段動畫。
在上述的第一個示例性實(shí)施例中,由于采用了踩點(diǎn)定位而不是反復(fù)調(diào)用GPS,降低了系統(tǒng)的負(fù)載。同時通過對車輛方向進(jìn)行了計(jì)算,以及采用了合理的動畫時間,因而動畫的真實(shí)性更強(qiáng)。
對應(yīng)本發(fā)明實(shí)施例中一種顯示行車動畫的方法,本發(fā)明實(shí)施例中還提供了一種顯示行車動畫的裝置,如圖4所示為本發(fā)明實(shí)施例中一種顯示行車動畫的裝置的結(jié)構(gòu)示意圖,該裝置包括:
定位模塊401,用于采集第一經(jīng)緯度以及第二經(jīng)緯度,并確定采集所述第一經(jīng)緯度與所述第二經(jīng)緯度之間的時間間隔;
處理模塊402,用于將所述時間間隔劃分為N等份,根據(jù)劃分的時間間隔,確定N條行車動畫,其中,N為大于等于2的正整數(shù);
顯示模塊403,用于在所述第一經(jīng)緯度以及第二經(jīng)緯度之間依次顯示所述N條行車動畫。
進(jìn)一步,在本發(fā)明實(shí)施例中,所述定位模塊401,還用于獲取所述踩點(diǎn)定位裝置的位移值;
所述處理模塊402,還用于判定所述位移值是否大于位移閾值,在所述位移值大于位移閾值時,則判定定位精度值是否大于精度閾值,若是,則指示所述定位模塊停止經(jīng)緯度采集;若否,則指示所述定位模塊采集所述第一經(jīng)緯度以及所述第二經(jīng)緯度。
進(jìn)一步,在本發(fā)明實(shí)施例中,所述處理模塊402,具體用于檢測所述時間間隔是否大于第一預(yù)設(shè)時間間隔,或者小于第二預(yù)設(shè)時間間隔;若是,則調(diào)取預(yù)設(shè)時間間隔,并使用所述預(yù)置時間間隔替換根據(jù)所述第一經(jīng)緯度以及所述第二經(jīng)緯度確定出的所述時間間隔;若否,則使用所述確定出所述時間間隔。
進(jìn)一步,在本發(fā)明實(shí)施例中,所述處理模塊402,具體用于將所述第一經(jīng)緯度轉(zhuǎn)換為第一坐標(biāo)點(diǎn),并將所述第二經(jīng)緯度轉(zhuǎn)換為第二坐標(biāo)點(diǎn),其中,所述第一坐標(biāo)點(diǎn)以及所述第二坐標(biāo)點(diǎn)位于設(shè)定直角坐標(biāo)系內(nèi);將所述第一坐標(biāo)點(diǎn)作為坐標(biāo)原點(diǎn),根據(jù)設(shè)定運(yùn)算規(guī)則,確定所述第一坐標(biāo)點(diǎn)與所述第二坐標(biāo)點(diǎn)之間的夾角;將所述夾角作為行車轉(zhuǎn)向角度;基于所述行車轉(zhuǎn)向角度,確定N條行車動畫。
進(jìn)一步,在本發(fā)明實(shí)施例中,所述裝置還包括:
檢測模塊,用于檢測添加了所述N條行車動畫的行車動畫組中是否添加新行車動畫;若是,則繼續(xù)顯示新添加的行車動畫;若否,則停止行車動畫顯示。
盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的普通技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。
顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。