專利名稱:一種地圖顯示的方法、系統(tǒng)和移動終端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及地圖領(lǐng)域,尤其涉及一種地圖顯示的方法、系統(tǒng)和移動終端。
背景技術(shù):
隨著社會不斷進步和發(fā)展,人們對各種資訊信息需求也越來越全面,基于電子 地圖(屬于地理信息系統(tǒng)(GIS))產(chǎn)品給人們出行帶來極大的方便。因此,在各種終端設(shè) 備上實現(xiàn)電子地圖是很有意義的??v觀目前手機終端上涉及到電子地圖產(chǎn)品,不外乎下 列兩種使用方式第一種通過手機wap或web瀏覽器來顯示內(nèi)嵌有地圖對象或組件的網(wǎng)頁;第二種獨立的應(yīng)用程序來展示地圖;圖一是現(xiàn)有技術(shù)地圖顯示系統(tǒng)結(jié)構(gòu)圖,用戶通過移動終端上的按鍵、屏幕、感 應(yīng)器等輸入設(shè)備觸發(fā)UI(User Interface)事件,控制器在接收到觸發(fā)命令后,通過地圖邏 輯和存儲系統(tǒng)改變地圖原有邏輯數(shù)據(jù),如果該邏輯數(shù)據(jù)發(fā)生改變,而存儲系統(tǒng)如果還有 地圖邏輯數(shù)據(jù)改變后的地片的話,那么就通過顯示裝置繪制地片并顯示,如果 存儲系統(tǒng)沒有改變后的地片,地圖邏輯和存儲系統(tǒng)將把該地片信息發(fā)送給網(wǎng)絡(luò) 控制器,由網(wǎng)絡(luò)控制器發(fā)送網(wǎng)絡(luò)請求到遠程地圖服務(wù)器獲取地片,地圖服務(wù)器在收 到請求后,接收請求并處理,響應(yīng)地片數(shù)據(jù)包到網(wǎng)絡(luò)控制器,網(wǎng)絡(luò)控制器在收到地 片數(shù)據(jù)包后,解析并存儲在地圖邏輯和存儲系統(tǒng),改變原有地圖邏輯中圖片有無的 狀態(tài)并觸發(fā)顯示裝置在屏幕顯示電子地圖。以上方案存在的缺點現(xiàn)有技術(shù)從兩種途徑獲取地片,第一種是在終端設(shè) 備內(nèi)部獲取,一種是通過網(wǎng)絡(luò)至地圖服務(wù)器進行網(wǎng)絡(luò)獲取地片。由于地圖數(shù)據(jù)較 多,目前第一種方法的內(nèi)部I/O處理速度非差慢,讀取效率低;第二種方法也需要頻繁的 進行網(wǎng)絡(luò)獲取圖片,進一步加劇了讀取效率低的問題。因此這兩種方法都造成了在向用 戶顯示地圖時造成屏幕閃屏、花屏現(xiàn)象,使得地圖顯示不夠平滑,影響了用戶體驗。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提出一種地圖顯示的方法、系統(tǒng)和移動終端,旨在解 決現(xiàn)有技術(shù)中地圖顯示不夠平滑、讀取效率低、閃屏、花屏的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種地圖顯示的方法,包括以下步驟設(shè)定切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩沖區(qū)、 畫布劃分成切圖,確定移動終端屏幕、屏幕緩沖區(qū)、畫布的相對位置;接收到觸發(fā)事件時,計算需要繪制在所述畫布的切圖的第一數(shù)量,并將所述第 一數(shù)量及所述切圖對應(yīng)的切圖屬性存入第一切圖集合;通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布中對應(yīng)的中心坐 標處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。本發(fā)明實施例的另一目的在于提出一種地圖顯示系統(tǒng),所述的地圖顯示系統(tǒng)包括初始裝置、處理裝置和顯示裝置;初始裝置,用于預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏 幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動 終端屏幕、屏幕緩沖區(qū)、畫布的相對位置;處理裝置,用于接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù)量,并將所述第一數(shù)量N及所述切圖的屬性存入第一切圖集合;顯示裝置,用于通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布 中對應(yīng)的中心坐標處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。本發(fā)明實施例的另一目的在于提出一種包括所述地圖顯示系統(tǒng)的移動終端。本發(fā)明的有益效果本發(fā)明通過預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏 幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動終端屏 幕、屏幕緩沖區(qū)、畫布的相對位置,通過UI觸發(fā)事件確定地圖移動的方向,根據(jù)預(yù)置 的移動距離確定需要顯示的空缺切圖的數(shù)量,只需要將畫布與屏幕緩沖區(qū)重疊區(qū)域空缺 的切圖重新繪制到畫布對應(yīng)的中心坐標處,從畫布繪制到屏幕緩沖區(qū),再顯示到移動終 端,提高繪制和顯示切圖的效率,提高I/O處理的速度,解決了屏幕閃屏、花屏現(xiàn)象,提 高用戶體驗;如果需要繪制的空缺切圖已經(jīng)存放在本地,則不需要遠程下載切圖,只有 需要繪制的空缺切圖沒有存放在本地才到遠程服務(wù)器下載,從而減少網(wǎng)絡(luò)訪問量。
圖1是現(xiàn)有技術(shù)地圖顯示系統(tǒng)的結(jié)構(gòu)圖2是本發(fā)明實施例畫布、屏幕緩沖區(qū)、移動終端屏幕三者關(guān)系的結(jié)構(gòu)圖3是本發(fā)明實施例地圖移動時畫布、屏幕緩沖區(qū)、移動終端屏幕三者關(guān)系的結(jié)構(gòu)圖4是本發(fā)明實施例--種地圖顯示方法的總體流程圖5是本發(fā)明實施例--種地圖顯示方法的第一個具體流程圖6是本發(fā)明實施例--種地圖顯示方法的第二個具體流程圖7是本發(fā)明實施例--種地圖顯示系統(tǒng)的總體結(jié)構(gòu)圖8是本發(fā)明實施例--種地圖顯示系統(tǒng)的具體結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖和實施 例,對本發(fā)明進行進一步詳細說明,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部 分。應(yīng)當理解,此處所描寫的具體實施例,僅僅用于解釋本發(fā)明,并不用以限制本發(fā) 明。本發(fā)明根據(jù)移動終端設(shè)備的性能設(shè)定切圖和屏幕緩沖區(qū)的大小以及移動距離, 把移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,確定相對位置;計算需要繪制在畫布 上的切圖的第一數(shù)量N,通過切圖對應(yīng)的屬性將N個切圖通過畫布、屏幕緩沖區(qū)顯示在 移動終端屏幕。
實施例一圖4是本發(fā)明實施例一種地圖顯示的方法總體流程圖。所述的方法包括以下步 驟S401,預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩 沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動終端屏幕、 屏幕緩沖區(qū)、畫布的相對位置;所述的切圖、屏幕緩沖區(qū)、移動距離的單位是像素,切圖包括三個屬性縮放 級別、中心坐標,縮放級別是電子地圖自身已定義的屬性,所述的中心坐標是指選擇某 個地理位置的經(jīng)緯度坐標作為參考原點,在一定縮放級別下,根據(jù)切圖大小,把電子地 圖劃分成多個切圖,切圖是一種帶有中心坐標(X、Y坐標)和縮放級別的地片;所述的切圖和屏幕緩沖區(qū)是根據(jù)移動終端屏幕尺寸、地圖系統(tǒng)、后臺服務(wù)器程 序的存儲系統(tǒng)、緩沖系統(tǒng)、網(wǎng)絡(luò)傳輸流量等因素提前預(yù)設(shè)切圖和屏幕緩沖區(qū)的大小;將所述終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的方法為根據(jù)切圖的大小計 算出移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的數(shù)量,其中移動終端屏幕、屏幕緩 沖區(qū)、畫布的切圖數(shù)量是由移動終端屏幕、屏幕緩沖區(qū)、畫布的長度或?qū)挾瘸郧袌D的 長度或?qū)挾人玫臄?shù)值,如果所得數(shù)值非整數(shù),則取整再加1 ;所述的畫布覆蓋在屏幕緩沖區(qū)上,畫布的長度和寬度可無限延伸,畫布不占用 內(nèi)存空間,只消耗移動終端繪制切圖的時間,用于在畫布相應(yīng)的坐標繪制對應(yīng)的切圖, 如果將所有的切圖繪制在畫布的相應(yīng)中心坐標上,那么畫布就構(gòu)成了電子地圖;所述的移動距離是地圖每次移動的距離,可以對多個方向設(shè)定不同的移動距 罔;所述的相對位置是移動終端屏幕在最上層,畫布在中間層、屏幕緩沖區(qū)在最底 層,當有UI事件發(fā)生時,移動終端屏幕和屏幕緩沖區(qū)位置不變,只有畫布做相應(yīng)的改 變;為了便于理解,以移動終端屏幕的像素為240x320為例說明,根據(jù)移動終 端設(shè)備的性能參數(shù),每個切圖的像素大小設(shè)定60x80,屏幕緩沖區(qū)的像素大小設(shè)定為 360x480,畫布的切圖數(shù)量可以不受限制;上、下方向移動時,移動距離設(shè)定為80個像 素,左、右方向移動時,移動距離設(shè)定為60個像素;如圖2中的每個柵格如11、12、 13、22、23、24即為切圖,其中列22、23、24、25與行22、32、42、52組成S202即移 動終端屏幕,列 11、12、13、14、15、16 與行 11、21、31、41、51、61 組成 S203 即屏 幕緩沖區(qū),S201為畫布,且可無限延伸;S402,接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù)量,并將 所述第一數(shù)量及所述切圖對應(yīng)的切圖屬性存入第一切圖集合;所述的觸發(fā)指令是指用戶使用移動終端設(shè)備提供的按鍵、觸摸屏、感應(yīng)器等輸 入設(shè)備在地圖進行放大、縮小、移動等操作的UI事件;根據(jù)移動終端觸發(fā)的UI事件,畫 布除了做相應(yīng)的放大、縮小、移動還包括步驟S4021,畫布加載并繪制因UI事件需要顯示的切圖;S4022,畫布取消繪制因UI事件不需要顯示的切圖;為了便于理解,以移動終端屏幕的像素為240x320為例說明,如果觸發(fā)向右移動的事件,這時,畫布向左移動一個移動距離,同時還需要包括步驟畫布加載并繪制 右側(cè)一列移動距離的切圖、畫布取消繪制左側(cè)一列移動距離的切圖,如圖3所示,其中 S301為畫布,可無限延伸;S302是畫布原來的位置;S303畫布左移后的位置;S304加 載并繪制需要顯示的一列切圖;S305移動終端屏幕切圖的位置不變;S306屏幕緩沖區(qū)切 圖的位置不變;S307或S308畫布向左移動一個切圖的長度;S309取消不需要顯示的一 列切圖;在電子地圖上縮小或放大就是重新在畫布上繪制該縮放級別下屏幕緩沖區(qū)范圍 內(nèi)切圖,不再贅述;所述的第一切圖集合包括需要繪制在畫布上的切圖第一數(shù)量N和每個切圖對應(yīng) 的切圖屬性;所述的計算需要繪制在所述畫布的切圖的第一數(shù)量方法一般為根據(jù)UI事件, 發(fā)生移動或縮放地圖之后,確定畫布與屏幕緩沖區(qū)重疊區(qū)域空缺切圖總數(shù)量;首次登陸 地圖系統(tǒng)時,計算需要繪制在所述畫布的切圖的第一數(shù)量方法為選擇一個地理位置A 的經(jīng)緯度坐標作為參考點,根據(jù)縮放級別和切圖大小,把所述地圖劃分成多個切圖;需 要顯示以另外一個地理位置B為中心的地圖,則把移動終端屏幕中心點放置在縮放級別 下B點對應(yīng)切圖中心坐標點,然后統(tǒng)計移動終端屏幕所包括的切圖個數(shù);所述切圖個數(shù) 包括部分包含在移動終端屏幕內(nèi)的切圖;S403,通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布中對應(yīng)的 中心坐標處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。本發(fā)明實施例中通過預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端 屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移 動終端屏幕、屏幕緩沖區(qū)、畫布的相對位置,通過UI觸發(fā)事件確定地圖移動的方向,根 據(jù)預(yù)置的移動距離確定需要顯示的空缺切圖的數(shù)量,只需要將畫布與屏幕緩沖區(qū)重疊區(qū) 域空缺的切圖重新繪制到畫布對應(yīng)的中心坐標處,從畫布繪制到屏幕緩沖區(qū),再顯示到 移動終端,提高繪制和顯示切圖的效率,提高I/O處理的速度,解決了屏幕閃屏、花屏 現(xiàn)象,提高用戶體驗;如果需要繪制的空缺切圖已經(jīng)存放在本地,則不需要遠程下載切 圖,從而減少網(wǎng)絡(luò)訪問量。實施例二圖5是本發(fā)明實施例一種地圖顯示方法的第一個具體流程圖。所述的方法包括 以下步驟S501,預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩 沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動終端屏幕、 屏幕緩沖區(qū)、畫布的相對位置;S502,接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù)量N,并 將所述第一數(shù)量N及所述切圖的屬性存入第一切圖集合;S503,通過切圖屬性判斷第一切圖集合中的切圖是否存在本地;若是則執(zhí)行步 驟S505 ;若否則執(zhí)行步驟S504 ;S504,并至遠程服務(wù)器獲取未存儲在本地的切圖并存儲到本地;S505,讀取本地的切圖并繪制到所述畫布中對應(yīng)的中心坐標處;S506,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。
本發(fā)明實施例中通過預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端 屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移 動終端屏幕、屏幕緩沖區(qū)、畫布的相對位置,通過UI觸發(fā)事件確定地圖移動的方向,根 據(jù)預(yù)置的移動距離確定需要顯示的空缺切圖的數(shù)量,只需要將畫布與屏幕緩沖區(qū)重疊區(qū) 域空缺的切圖重新繪制到畫布對應(yīng)的中心坐標處,從畫布繪制到屏幕緩沖區(qū),再顯示到 移動終端,提高繪制和顯示切圖的效率,提高I/O處理的速度,解決了屏幕閃屏、花屏 現(xiàn)象,提高用戶體驗;如果需要繪制的空缺切圖已經(jīng)存放在本地,則不需要遠程下載切 圖,只有需要繪制的空缺切圖沒有存放在本地才到遠程服務(wù)器下載,從而減少網(wǎng)絡(luò)訪問 量。實施例三圖6是本發(fā)明實施例一種地圖顯示方法的第二個具體流程圖。該實施例計算需 要繪制在畫布上的切圖的第一數(shù)量N和切圖屬性存入第一切圖集合,定義第一參數(shù)η和第 二參數(shù)t(n和t都為整數(shù));逐個判斷第一切圖集合中的切圖是否存在本地,如果是,則 讀取本地保存的切圖到內(nèi)存并繪制到畫布對應(yīng)的坐標點;判斷η是否等于N,如果是,則 將畫布繪制在屏幕緩沖區(qū),顯示在移動終端屏幕。所述的方法包括以下步驟S601,預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩 沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動終端屏幕、 屏幕緩沖區(qū)、畫布的相對位置;S602,啟動網(wǎng)絡(luò)線程,網(wǎng)絡(luò)線程處于休眠狀態(tài),操作系統(tǒng)的UI線程獲取UI事件 指令并進入步驟S603 ;S603,計算需要繪制在所述畫布的切圖的第一數(shù)量N,并將所述第一數(shù)量N及 所述切圖的屬性存入第一切圖集合,預(yù)置第一參數(shù)η和第二參數(shù)t,η和t均為正整數(shù),初 始為0;S604,逐個判斷第一切圖集合中的切圖是否存在本地,如果否,則進入步驟 S605,如果是,則進入步驟S606;所述的需要繪制的切圖是指因UI事件發(fā)生移動、放大、縮小需要繪制的切圖, 根據(jù)切圖的屬性來判斷本地是否存在需要繪制的切圖;S605,把本地未保存的切圖屬性存入第二切圖集合,第二參數(shù)t+Ι,進入步驟 S607 ;所述的第二切圖集合存儲本地不存在的切圖數(shù)量和每個切圖屬性;S606,讀取本地的切圖到內(nèi)存并繪制到畫布對應(yīng)的中心坐標處;S607,第一參數(shù) n+1;S608,判斷η是否等于N,如果是,則進入步驟S609,如果否,則進入步驟 S604 ;S609,將畫布繪制在屏幕緩沖區(qū),顯示在移動終端屏幕,喚醒網(wǎng)絡(luò)線程,網(wǎng)絡(luò) 線程進入步驟S610 ;S610,判斷t是否等于0,如果是,則進入步驟S611,如果否,則進入步驟 S612 ;
S611,網(wǎng)絡(luò)線程進入休眠狀態(tài);S612,根據(jù)第二切圖集合從遠程服務(wù)器下載切圖并存儲到本地,通知UI線程, 通知UI線程,UI線程進入步驟S603,網(wǎng)絡(luò)線程進入休眠狀態(tài)。本發(fā)明實施例中通過UI線程和網(wǎng)絡(luò)線程的協(xié)作完成,根據(jù)移動終端設(shè)備的性能 參數(shù)設(shè)定切圖和屏幕緩沖區(qū)大小,把移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,確 定相對位置,其中移動終端屏幕在最上層,畫布在中間層、屏幕緩沖區(qū)在最底層,當接 收到觸發(fā)的UI事件時,移動終端屏幕和屏幕緩沖區(qū)位置不變,只有畫布做相應(yīng)的改變, 優(yōu)先讀取本地的切圖,首先把切圖存儲到臨時存儲區(qū),從臨時存儲區(qū)繪制到畫布,從畫 布繪制到屏幕緩沖區(qū),再從屏幕緩沖區(qū)顯示到移動終端屏幕,提高繪制和顯示切圖的效 率,提高I/O處理的速度,解決了屏幕閃屏、花屏現(xiàn)象,提高用戶體驗;如果需要繪制 的空缺切圖已經(jīng)存放在本地,則不需要遠程下載切圖,只有需要繪制的空缺切圖沒有存 放在本地才到遠程服務(wù)器下載,從而減少網(wǎng)絡(luò)訪問量。實施例四圖7是本發(fā)明實施例一種地圖顯示系統(tǒng)的總體結(jié)構(gòu)圖。所述系統(tǒng)包括初始裝置、處理裝置、顯示裝置;初始裝置,用于預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏 幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動 終端屏幕、屏幕緩沖區(qū)、畫布的相對位置;所述的切圖、屏幕緩沖區(qū)、移動距離的單位是像素,切圖包括三個屬性縮放 級別、中心坐標,縮放級別是電子地圖自身已定義的屬性,其中中心坐標是指選擇某個 地理位置的經(jīng)緯度坐標作為參考原點,在一定縮放級別下,根據(jù)切圖大小,把電子地圖 劃分成多個切圖,切圖是一種帶有中心坐標(X、Y坐標)和縮放級別的地片;所述的切圖和屏幕緩沖區(qū)是根據(jù)移動終端屏幕尺寸、地圖系統(tǒng)、后臺服務(wù)器程 序的存儲系統(tǒng)、緩沖系統(tǒng)、網(wǎng)絡(luò)傳輸流量等因素提前預(yù)設(shè)切圖和屏幕緩沖區(qū)的大小;將所述終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的方法為根據(jù)切圖的大小計 算出移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的數(shù)量,其中移動終端屏幕、屏幕緩 沖區(qū)、畫布的切圖數(shù)量是由移動終端屏幕、屏幕緩沖區(qū)、畫布的長度或?qū)挾瘸郧袌D的 長度或?qū)挾人玫臄?shù)值,如果所得數(shù)值非整數(shù),則取整再加1 ;所述的畫布覆蓋在屏幕緩沖區(qū)上,畫布的長度和寬度可無限延伸,畫布不占用 內(nèi)存空間,只消耗移動終端繪制切圖的時間,用于在畫布相應(yīng)的坐標繪制對應(yīng)的切圖, 如果將所有的切圖繪制在畫布的相應(yīng)坐標上,那么畫布就構(gòu)成了電子地圖;所述的移動距離是地圖每次移動的距離,可以對多個方向設(shè)定不同的移動距罔。所述的相對位置是移動終端屏幕在最上層,畫布在中間層、屏幕緩沖區(qū)在最底 層,當有UI事件發(fā)生時,移動終端屏幕和屏幕緩沖區(qū)位置不變,只有畫布做相應(yīng)的改變。處理裝置,用于接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù) 量,并將所述第一數(shù)量N及所述切圖的屬性存入第一切圖集合;所述的觸發(fā)指令是指用戶使用移動終端設(shè)備提供的按鍵、觸摸屏、感應(yīng)器等輸入設(shè)備在地圖進行放大、縮小、移動等操作的UI事件;根據(jù)移動終端觸發(fā)的UI事件,畫 布除了做相應(yīng)的放大、縮小、移動還包括步驟畫布加載并繪制因UI事件需要顯示的切圖;畫布取消繪制因UI事件不需要顯示的切圖;所述的第一切圖集合包括需要繪制在畫布上的切圖第一數(shù)量N和每個切圖對應(yīng) 的切圖屬性;所述的計算需要繪制在所述畫布的切圖的第一數(shù)量方法一般為根據(jù)UI事件, 發(fā)生移動或縮放地圖之后,確定畫布與屏幕緩沖區(qū)重疊區(qū)域空缺切圖總數(shù)量;首次登陸 地圖系統(tǒng)時,計算需要繪制在所述畫布的切圖的第一數(shù)量方法為選擇一個地理位置A 的經(jīng)緯度坐標作為參考點,根據(jù)縮放級別和切圖大小,把所述地圖劃分成多個切圖;需 要顯示以另外一個地理位置B為中心的地圖,則把移動終端屏幕中心點放置在縮放級別 下B點對應(yīng)切圖中心坐標點,然后統(tǒng)計移動終端屏幕所包括的切圖個數(shù);所述切圖個數(shù) 包括部分包含在移動終端屏幕內(nèi)的切圖;顯示裝置,用于通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布 中對應(yīng)的中心坐標處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。本發(fā)明實施例中通過初始裝置預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把 移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬 性,確定移動終端屏幕、屏幕緩沖區(qū)、畫布的相對位置,通過處理裝置接收UI觸發(fā)事件 確定地圖移動的方向,根據(jù)預(yù)置的移動距離確定需要顯示的空缺切圖的數(shù)量,只需要將 畫布與屏幕緩沖區(qū)重疊區(qū)域空缺的切圖重新繪制到畫布對應(yīng)的中心坐標處,通過顯示裝 置從畫布繪制到屏幕緩沖區(qū),再顯示到移動終端,提高繪制和顯示切圖的效率,提高I/O 處理的速度,解決了屏幕閃屏、花屏現(xiàn)象,提高用戶體驗;如果需要繪制的空缺切圖已 經(jīng)存放在本地,則不需要遠程下載切圖,從而減少網(wǎng)絡(luò)訪問量。實施例五圖8是本發(fā)明實施例一種地圖顯示系統(tǒng)的具體結(jié)構(gòu)圖。所述地圖顯示系統(tǒng)包括初始裝置、處理裝置、顯示裝置;其中顯示裝置包括 判斷單元、計算及存儲單元、繪制單元;初始裝置;用于預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏 幕、屏幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動 終端屏幕、屏幕緩沖區(qū)、畫布的相對位置;進一步用于預(yù)置第一參數(shù)、第二參數(shù),所述 第一、二參數(shù)為正整數(shù),初始值為0 ;處理裝置,用于接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù) 量,并將所述第一數(shù)量及所述切圖的屬性存入第一切圖集合;其中用于計算需要繪制在 所述畫布的切圖的第一數(shù)量具體為接收到觸發(fā)事件后確定畫布與屏幕緩沖區(qū)重疊區(qū)域 空缺切圖總數(shù)量;或首次登陸地圖系統(tǒng)時,計算需要繪制在所述畫布的切圖的第一數(shù)量 方法為選擇一個地理位置A的經(jīng)緯度坐標作為參考點,根據(jù)縮放級別和切圖大小,把 所述地圖劃分成多個切圖;需要顯示以另外一個地理位置B為中心的地圖,則把移動終 端屏幕中心點放置在縮放級別下B點對應(yīng)切圖中心坐標點,然后統(tǒng)計移動終端屏幕所包 括的切圖個數(shù);所述切圖個數(shù)包括部分包含在移動終端屏幕內(nèi)的切顯示裝置包括判斷單元,用于通過所述切圖的屬性逐個判斷第一切圖集合中的切圖是否存儲 在本地;判斷第一參數(shù)是否等于所述的第一數(shù)量;當?shù)谝粎?shù)不等于所述的第一數(shù)量 時,繼續(xù)通過所述切圖的屬性判斷第一切圖集合中的切圖是否存儲在本地;判斷第二參 數(shù)是否為0 ;計算及存儲單元,用于當所述判斷單元判斷出一個切圖存儲在本地,將所述第 一參數(shù)加1;當判斷出一個切圖沒有存儲在本地,則將該切圖屬性存入第二切圖集合, 第二參數(shù)加1,第一參數(shù)加1;當判斷出第二參數(shù)為0,至遠程服務(wù)器獲取第二切圖集合 中切圖屬性對應(yīng)的切圖并存儲到本地,通知處理單元繼續(xù)計算需要繪制在所述畫布的切 圖的第一數(shù)量;繪制單元,用于當所述判斷單元判斷出一個切圖存儲在本地,該切圖繪制到畫 布對應(yīng)的中心坐標處;當所述判斷出第一參數(shù)等于所述的第一數(shù)量時,將畫布繪制在屏 幕緩沖區(qū),顯示在移動終端屏幕。本發(fā)明實施例中除了地圖下載器中包含網(wǎng)絡(luò)線程,其他各模塊由UI線程貫穿始 末,由初始裝置設(shè)定切圖和屏幕緩沖區(qū)大小,把移動終端屏幕、屏幕緩沖區(qū)、畫布劃分 成切圖,確定相對位置,地圖管理器根據(jù)UI線程獲取的UI事件指令,計算需要繪制在 畫布上的切圖的第一數(shù)量N和切圖屬性存入第一切圖集合,定義第一參數(shù)η和第二參數(shù) t,第一判斷模塊逐個判斷切圖集合中的切圖是否存在本地,如果是,地圖裝載器讀取本 地保存的切圖并存儲到地圖管理器中的臨時存儲區(qū),繪制到畫布對應(yīng)的中心坐標處,第 二判斷模塊判斷η是否等于N,如果是,顯示裝置將畫布繪制在屏幕緩沖區(qū),顯示在移 動終端屏幕,這里的需要繪制的空缺切圖已經(jīng)存放在本地,則不需要遠程下載切圖,而 且是先把切圖繪制到畫布對應(yīng)的中心坐標點,再將畫布繪制在屏幕緩沖區(qū),并顯示在移 動終端屏幕,提高繪制和顯示切圖的效率,提高I/O處理的速度,解決了屏幕閃屏、花 屏現(xiàn)象,提高用戶體驗,同時也減少網(wǎng)絡(luò)訪問量;第三判斷模塊判斷t是否等于0,如果 否,地圖下載器根據(jù)第二切圖集合中的切圖屬性從遠程服務(wù)器下載切圖數(shù)據(jù)包并存儲到 本地,只有需要繪制的空缺切圖沒有存放在本地才到遠程服務(wù)器下載,從而減少網(wǎng)絡(luò)訪 問量。本發(fā)明提供的地圖顯示系統(tǒng)可以應(yīng)用于需要顯示地圖的移動終端上,例如手機等。
權(quán)利要求
1.一種地圖顯示的方法,其特征在于,所述方法包括以下步驟預(yù)設(shè)切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩沖區(qū)、畫布 劃分成切圖,確定移動終端屏幕、屏幕緩沖區(qū)、畫布的相對位置;接收到觸發(fā)事件時,計算需要繪制在所述畫布的切圖的第一數(shù)量,并將所述第一數(shù) 量及所述切圖對應(yīng)的切圖屬性存入第一切圖集合;通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布中對應(yīng)的中心坐標 處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。
2.根據(jù)權(quán)利要求1所述的地圖顯示方法,其特征在于,所述的步驟“通過所述切圖的 屬性將所述第一切圖集合中的切圖繪制到畫布中對應(yīng)的中心坐標處”具體為通過所述切圖的屬性判斷第一切圖集合中的切圖是否存儲在本地,若是則讀取本地保 存的切圖到內(nèi)存并繪制到畫布對應(yīng)的中心坐標處;若否則至遠程服務(wù)器獲取未存放在本地 的切圖并存儲到本地,然后讀取本地保存的切圖到內(nèi)存并繪制到畫布對應(yīng)的中心坐標處。
3.根據(jù)權(quán)利要求1所述的地圖顯示方法,其特征在于,進一步預(yù)置第一參數(shù),所述第 一參數(shù)為正整數(shù)且初始值為0 ;所述的步驟“通過所述切圖的屬性將所述第一切圖集合 中的切圖繪制到畫布中對應(yīng)的中心坐標處”具體為通過所述切圖的屬性逐個判斷第一切圖集合中的切圖是否存儲在本地,當判斷出 一個切圖存儲在本地,則將該切圖繪制到畫布對應(yīng)的中心坐標處,并將所述第一參數(shù)加 1 ;當?shù)谝粎?shù)等于所述的第一數(shù)量時,將畫布繪制在屏幕緩沖區(qū),顯示在移動終端屏 幕;當?shù)谝粎?shù)不等于所述的第一數(shù)量時,繼續(xù)步驟“通過所述切圖的屬性判斷第一切 圖集合中的切圖是否存儲在本地”。
4.根據(jù)權(quán)利要求3所述的地圖顯示方法,其特征在于,進一步預(yù)置第二參數(shù),所述的 第二參數(shù)為正整數(shù)且初始值為0;所述的當判斷出一個切圖存儲在本地,則將該切圖繪 制到畫布對應(yīng)的中心坐標處,并將所述第一參數(shù)加1時;進一步包括當判斷出一個切圖 沒有存儲在本地,則將該切圖屬性存入第二切圖集合,第二參數(shù)加1,第一參數(shù)加1;當?shù)诙?shù)不為0時,并至遠程服務(wù)器獲取第二切圖集合中切圖屬性對應(yīng)的切圖并 存儲到本地,繼續(xù)計算需要繪制在所述畫布的切圖的第一數(shù)量步驟。
5.根據(jù)權(quán)利要求1-4所述的地圖顯示方法,其特征在于,計算需要繪制在所述畫布的 切圖的第一數(shù)量方法為接收到觸發(fā)事件后根據(jù)UI事件,發(fā)生移動或縮放地圖之后,確 定畫布與屏幕緩沖區(qū)重疊區(qū)域空缺切圖總數(shù)量;或首次登陸地圖系統(tǒng)時,計算需要繪制 在所述畫布的切圖的第一數(shù)量方法為選擇一個地理位置A的經(jīng)緯度坐標作為參考點, 根據(jù)縮放級別和切圖大小,把所述地圖劃分成多個切圖;需要顯示以另外一個地理位置 B為中心的地圖,則把移動終端屏幕中心點放置在縮放級別下B點對應(yīng)切圖中心坐標點, 然后統(tǒng)計移動終端屏幕所包括的切圖個數(shù);所述切圖個數(shù)包括部分包含在移動終端屏幕 內(nèi)的切圖。
6.如權(quán)利要求1-4所述的地圖顯示方法,其特征在于,所述的切圖和屏幕緩沖區(qū)是根 據(jù)移動終端屏幕尺寸、地圖系統(tǒng)、后臺服務(wù)器程序的存儲系統(tǒng)、緩沖系統(tǒng)、網(wǎng)絡(luò)傳輸流 量等因素提前預(yù)設(shè)切圖和屏幕緩沖區(qū)的大??;將所述終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的方法為根據(jù)切圖的大小計算出移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖的數(shù)量,其中移動終端屏幕、屏幕緩沖 區(qū)、畫布的切圖數(shù)量是由移動終端屏幕、屏幕緩沖區(qū)、畫布的長度或?qū)挾瘸郧袌D的長 度或?qū)挾人玫臄?shù)值,如果所得數(shù)值非整數(shù),則取整再加1。
7.如權(quán)利要求1-4所述的地圖顯示方法,其特征在于,所述的相對位置是移動終端屏 幕在最上層,畫布在中間層、屏幕緩沖區(qū)在最底層,當接收到觸發(fā)指令時,移動終端屏 幕和屏幕緩沖區(qū)位置不變,只有畫布做相應(yīng)的改變。
8.—種地圖顯示系統(tǒng),其特征在于,所述系統(tǒng)包括初始裝置,用于預(yù)置切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏 幕緩沖區(qū)、畫布劃分成切圖,所述切圖具有放大級別、中心坐標屬性,確定移動終端屏 幕、屏幕緩沖區(qū)、畫布的相對位置;處理裝置,用于接收到觸發(fā)指令時,計算需要繪制在所述畫布的切圖的第一數(shù)量, 并將所述第一數(shù)量及所述切圖的屬性存入第一切圖集合;顯示裝置,用于通過所述切圖的屬性將所述第一切圖集合中的切圖繪制到畫布中對 應(yīng)的中心坐標處,將畫布繪制在屏幕緩沖區(qū),并顯示在移動終端屏幕。
9.根據(jù)權(quán)利要求8所述的地圖顯示系統(tǒng),其特征在于,所述的顯示裝置包括判斷 單元、計算及存儲單元、繪制單元;所述初始裝置進一步用于預(yù)置第一參數(shù)、第二參數(shù),所述第一、二參數(shù)為正整數(shù), 初始值為0 ;判斷單元,用于通過所述切圖的屬性逐個判斷第一切圖集合中的切圖是否存儲在本 地;判斷第一參數(shù)是否等于所述的第一數(shù)量;當?shù)谝粎?shù)不等于所述的第一數(shù)量時,繼 續(xù)通過所述切圖的屬性判斷第一切圖集合中的切圖是否存儲在本地;判斷第二參數(shù)是否 為0;計算及存儲單元,用于當所述判斷單元判斷出一個切圖存儲在本地,將所述第一參 數(shù)加1;當判斷出一個切圖沒有存儲在本地,則將該切圖屬性存入第二切圖集合,第二 參數(shù)加1,第一參數(shù)加1;當判斷出第二參數(shù)為0,至遠程服務(wù)器獲取第二切圖集合中切 圖屬性對應(yīng)的切圖并存儲到本地,通知處理單元繼續(xù)計算需要繪制在所述畫布的切圖的第一數(shù)量;繪制單元,用于當所述判斷單元判斷出一個切圖存儲在本地,該切圖繪制到畫布對 應(yīng)的中心坐標處;當所述判斷出第一參數(shù)等于所述的第一數(shù)量時,將畫布繪制在屏幕緩 沖區(qū),顯示在移動終端屏幕;所述處理裝置,用于計算需要繪制在所述畫布的切圖的第一數(shù)量具體為接收到觸 發(fā)事件后確定畫布與屏幕緩沖區(qū)重疊區(qū)域空缺切圖總數(shù)量;或首次登陸地圖系統(tǒng)時,計 算需要繪制在所述畫布的切圖的第一數(shù)量方法為選擇一個地理位置A的經(jīng)緯度坐標作 為參考點,根據(jù)縮放級別和切圖大小,把所述地圖劃分成多個切圖;需要顯示以另外一 個地理位置B為中心的地圖,則把移動終端屏幕中心點放置在縮放級別下B點對應(yīng)切圖 中心坐標點,然后統(tǒng)計移動終端屏幕所包括的切圖個數(shù);所述切圖個數(shù)包括部分包含在 移動終端屏幕內(nèi)的切圖。
10.—種顯示地圖的移動終端,其特征在于,包括權(quán)利要求8和9所述的地圖顯示系統(tǒng)。
全文摘要
本發(fā)明公開一種地圖顯示的方法、系統(tǒng)和移動終端,本發(fā)明根據(jù)移動終端設(shè)備的性能預(yù)設(shè)切圖和屏幕緩沖區(qū)的大小以及移動距離,把移動終端屏幕、屏幕緩沖區(qū)、畫布劃分成切圖,確定相對位置;計算需要繪制在畫布上的切圖的第一數(shù)量N和切圖屬性存入第一切圖集合,定義第一參數(shù)n和第二參數(shù)t;逐個判斷第一切圖集合中的切圖是否存在本地,如果是,則讀取本地保存的切圖到內(nèi)存并繪制到畫布對應(yīng)的坐標點;判斷n是否等于N,如果是,則將畫布繪制在屏幕緩沖區(qū),顯示在移動終端屏幕;解決了移動終端屏幕地圖顯示時的閃屏、花屏現(xiàn)象,提高顯示地圖的速度和用戶體驗,并節(jié)省網(wǎng)絡(luò)流量。
文檔編號G06F17/30GK102012924SQ20101056651
公開日2011年4月13日 申請日期2010年11月29日 優(yōu)先權(quán)日2010年11月29日
發(fā)明者關(guān)則京, 宋葉祥 申請人:深圳市融創(chuàng)天下科技發(fā)展有限公司