亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

電子地圖的顯示方法及裝置的制作方法

文檔序號:6425952閱讀:179來源:國知局

專利名稱::電子地圖的顯示方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及通信領(lǐng)域,具體而言,涉及ー種電子地圖的顯示方法及裝置。
背景技術(shù)
:隨著瓦片地圖技術(shù)的出現(xiàn),許多互聯(lián)網(wǎng)電子地圖供應(yīng)商(例如,谷歌Google、雅虎Yahoo、百度Baidu)都使用了瓦片地圖這ー技術(shù),使得在線的電子地圖提供服務(wù)中的地圖的拖動、縮放以及不同比例尺下的快速瀏覽都有了很大的改善。但是,目前的互聯(lián)網(wǎng)電子地圖服務(wù)都是在線服務(wù),例如,以Web方式直接訪問,調(diào)用API進(jìn)行間接訪問,這樣,在網(wǎng)絡(luò)狀況差的環(huán)境下顯示會有時延,降低了用戶體驗,并且,在無法接入互聯(lián)網(wǎng)的環(huán)境下,電子地圖更是無法使用的。針對相關(guān)技術(shù)中存在的電子地圖的使用不方便的問題,目前尚未提出有效的解決方案。
發(fā)明內(nèi)容本發(fā)明的主要目的在于提供一種電子地圖的顯示方法及裝置,以至少解決上述問題。根據(jù)本發(fā)明的ー個方面,提供了一種電子地圖的顯示方法,該方法包括如下步驟預(yù)先下載所述電子地圖的瓦片地圖,并將所述瓦片地圖以多級目錄索引的方式存儲在本地;接收查詢請求,確定所述查詢請求對應(yīng)的瓦片地圖;從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖。在上述方法中,預(yù)先下載所述電子地圖的瓦片地圖包括獲取電子地圖服務(wù)提供商提供瓦片地圖的統(tǒng)ー資源定位符;根據(jù)需要下載的瓦片地圖填充所述統(tǒng)ー資源定位符中的參數(shù),形成完整的統(tǒng)ー資源定位符;根據(jù)所述完整的統(tǒng)ー資源定位符下載所述需要下載的瓦片地圖。在上述方法中,根據(jù)需要下載的瓦片地圖填充所述統(tǒng)ー資源定位符中的經(jīng)緯度包括根據(jù)墨卡托投影公式使用地球半徑的長度將全球經(jīng)緯度轉(zhuǎn)換為平面坐標(biāo)系;使用所述平面坐標(biāo)系的坐標(biāo)填充所述統(tǒng)ー資源定位符中的經(jīng)緯度參數(shù)。在上述方法中,所述多級目錄索引的方式包括根據(jù)以下至少之ー建立所述多級目錄所述電子地圖的類型、經(jīng)緯度、縮放等級,其中,所述經(jīng)緯度表示為(ハ7)^和7組成的坐標(biāo)系為根據(jù)墨卡托投影公式將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系,原點(diǎn)位于所述平面坐標(biāo)系的左上角,將經(jīng)度轉(zhuǎn)換為所述平面坐標(biāo)系的橫向X軸,將緯度轉(zhuǎn)換為所述平面坐標(biāo)系縱向y軸,當(dāng)所述電子地圖的瓦片地圖的最大縮放等級為η吋,則所述X的值最大為2n-l,所述y的值為2n-l。在上述方法中,所述多級目錄索引的方式還包括每個縮放等級均對應(yīng)ー個目錄,將該縮放等級下的瓦片地圖的X值除以M,商數(shù)為該縮放等級目錄下ニ級目錄名,余數(shù)為該縮放等級目錄下的三級目錄名,將該縮放等級下的瓦片地圖的y值除以M,商數(shù)為該縮放等級目錄下的四級目錄名,余數(shù)為該瓦片地圖的圖片文件的文件名,其中,所述M為正整數(shù),所述M與縮放等級相對應(yīng)。在上述方法中,所有縮放等級對應(yīng)的M值均為1024。在上述方法中,確定所述查詢請求對應(yīng)的瓦片地圖,從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖包括根據(jù)所述查詢請求中的縮放等級和經(jīng)緯度,確定瓦片地圖的(X,y)和所述瓦片地圖內(nèi)的像素坐標(biāo),并將所述像素坐標(biāo)轉(zhuǎn)換為顯示屏幕的屏幕坐標(biāo);確定填充滿所述顯示屏幕的瓦片數(shù)量及所述顯示屏幕的坐標(biāo)范圍;根據(jù)瓦片地圖的(x,y)從本地獲取瓦片地圖,組織并顯示所獲取的瓦片地圖。在上述方法中,從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖還包括從內(nèi)存緩沖區(qū)中獲取所述瓦片地圖的數(shù)據(jù),在從內(nèi)存中獲取不到所述瓦片地圖的數(shù)據(jù)的情況下,則從本地存儲器加載所述瓦片地圖的數(shù)據(jù),將所述瓦片地圖的數(shù)據(jù)存放至所述內(nèi)存緩沖區(qū)。根據(jù)本發(fā)明的另ー個方面,還提供了一種電子地圖的顯示裝置,包括下載模塊,用于預(yù)先下載所述電子地圖的瓦片地圖;存儲模塊,用于將所述瓦片地圖以多級目錄索引的方式存儲在本地;查詢模塊,用于接收查詢請求,確定所述查詢請求對應(yīng)的瓦片地圖;顯示模塊,用于從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖。在上述裝置中,所述下載模塊包括獲取單元,用于獲取電子地圖服務(wù)提供商提供瓦片地圖的統(tǒng)ー資源定位符;形成単元,用于根據(jù)需要下載的瓦片地圖填充所述統(tǒng)ー資源定位符中的參數(shù),形成完整的統(tǒng)ー資源定位符;下載單元,用于根據(jù)所述完整的統(tǒng)ー資源定位符下載所述需要下載的瓦片地圖。在上述裝置中,所述存儲模塊用于根據(jù)以下至少之ー建立所述多級目錄所述電子地圖的類型、經(jīng)緯度、縮放等級,其中,所述經(jīng)緯度表示為(1、7)^和7組成的坐標(biāo)系為根據(jù)墨卡托投影公式轉(zhuǎn)換的坐標(biāo)系,原點(diǎn)位于所述坐標(biāo)系的左上角,將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系的坐標(biāo)系橫向X軸,將緯度轉(zhuǎn)換為所述平面坐標(biāo)系縱向y軸,當(dāng)所述電子地圖的瓦片地圖的最大縮放等級為η時,則所述X的值最大為2η-1,所述y的值為2n_l。通過本發(fā)明,采用預(yù)先下載電子地圖的瓦片地圖,并將瓦片地圖以多級目錄索引的方式存儲在本地;接收查詢請求,確定查詢請求對應(yīng)的瓦片地圖;從本地獲取瓦片地圖,組織并顯示瓦片地圖。解決了現(xiàn)有技術(shù)中電子地圖使用不方便的問題,從而用戶在沒有互聯(lián)網(wǎng)接入時仍然可以使用電子地圖,提高了用戶體驗。此處所說明的附圖用來提供對本發(fā)明的進(jìn)ー步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖I是根據(jù)本發(fā)明實施例的電子地圖的顯示方法的流程圖;圖2是根據(jù)本發(fā)明實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖;圖3是根據(jù)本發(fā)明優(yōu)選實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖;圖4是根據(jù)本發(fā)明另一個優(yōu)選實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖;圖5是與本發(fā)明實施例相關(guān)的縮放等級為I時地圖的切片分布示意圖;圖6是根據(jù)本發(fā)明優(yōu)選實施例的下載及存儲瓦片地圖數(shù)據(jù)的流程圖7是根據(jù)本發(fā)明優(yōu)選實施例的瓦片地圖數(shù)據(jù)組織結(jié)構(gòu)示意圖;圖8是根據(jù)本發(fā)明優(yōu)選實施例的離線顯示谷歌地圖的流程圖。具體實施例方式下文中將參考附圖并結(jié)合實施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。在以下實施例中均以瓦片地圖為例進(jìn)行說明,瓦片地圖本質(zhì)上就是把通用的地圖作為主要地圖背景,采用預(yù)先生成的方法存放在服務(wù)器端,然后根據(jù)用戶提交的不同請求,把相應(yīng)的地圖瓦片發(fā)送給客戶端瀏覽。并且,由于客戶端請求的地圖是預(yù)先生成,不需要像傳統(tǒng)的WebGIS那樣對用戶的請求進(jìn)行實時計算和繪圖,所以瓦片地圖技術(shù)能夠在地圖的顯示方面具有速度的優(yōu)越性。圖I是根據(jù)本發(fā)明實施例的電子地圖的顯示方法的流程圖,如圖I所示,該流程包括如下步驟步驟S102,預(yù)先下載電子地圖的瓦片地圖,并將瓦片地圖以多級目錄索引的方式存儲在本地;步驟S104,接收查詢請求,確定查詢請求對應(yīng)的瓦片地圖;步驟S106,從本地獲取瓦片地圖,組織并顯示瓦片地圖。通過上述步驟,可以預(yù)先下載瓦片地圖,從而在使用時直接從本地獲取瓦片地圖,避免了使用電子地圖對網(wǎng)絡(luò)的依賴。對于提供地圖服務(wù)的服務(wù)商而言,其必然有下載瓦片地圖數(shù)據(jù)的接ロ,通過該接ロ可以下載該瓦片地圖。一般而言,可以通過統(tǒng)ー資源定位符(UniversalResourceLocator,簡稱為URL)的方式來獲取瓦片地圖,例如,可以首先獲取電子地圖服務(wù)提供商提供瓦片地圖的URL,然后根據(jù)需要下載的瓦片地圖填充URL中的參數(shù),形成完整的URL,例如,可以填充的參數(shù)可以至少包括電子地圖的類型、經(jīng)緯度、區(qū)域跨度、縮放等級,優(yōu)選地,還可以包括標(biāo)簽語言。在得到該完整的URL之后,就可以根據(jù)該完整的URL下載需要下載的瓦片地圖。對于該URL的獲取,可以通過網(wǎng)絡(luò)抓包工具對與電子地圖服務(wù)商進(jìn)行的交互進(jìn)行抓包,通過對抓取的數(shù)據(jù)包的分析就可以得到該URL。當(dāng)然,對于某些開放端ロ的電子地圖的服務(wù)提供商,其可能直接提供了可以下載瓦片地圖的URL。對于經(jīng)緯度,可以根據(jù)墨卡托投影公式將全球經(jīng)緯度轉(zhuǎn)化為平面坐標(biāo)系;使用平面坐標(biāo)系的坐標(biāo)填充URL中的經(jīng)緯度參數(shù)該坐標(biāo)系的原點(diǎn)可以根據(jù)需要來設(shè)置,例如,可以以本初子午線和赤道交叉點(diǎn)為原點(diǎn),此時的X和y的取值有正有負(fù);為了使X和y的取值全部為正值,也可以將該坐標(biāo)系的原點(diǎn)移至左上角,在使用墨卡托投影公式時,可以使用地球半徑的長度來計算平面坐標(biāo)系。以坐標(biāo)系的原點(diǎn)位于左上角為例,在將瓦片地圖下載在本地之后,可以采用多種的建立目錄的方式,在本實施例中提供了一種較優(yōu)的建立目錄的方式可以根據(jù)以下至少之一建立多級目錄電子地圖的類型、經(jīng)緯度、縮放等級。比較優(yōu),經(jīng)緯度表示為(x、y),x和I組成的坐標(biāo)系為根據(jù)墨卡托投影公式將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系的橫向X軸,將緯度轉(zhuǎn)換為平面坐標(biāo)系的縱向y軸,當(dāng)電子地圖的瓦片地圖的最大縮放等級為η時,則X的值最大為2n-l,y的值為2n-l。下面選取了一個最佳的建立目錄的實施方式進(jìn)行說明。在該最佳的實施方式中,每個縮放等級均對應(yīng)ー個目錄,將該縮放等級下的瓦片地圖的X值除以M,商數(shù)為該縮放等級目錄下ニ級目錄名,余數(shù)為該縮放等級目錄下的三級目錄名,將該縮放等級下的瓦片地圖的y值除以M,商數(shù)為該縮放等級目錄下的四級目錄名,余數(shù)為該瓦片地圖的圖片文件的文件名,其中,M為正整數(shù),M與縮放等級相對應(yīng)。通過該實施方式,可以通過設(shè)置M的值來確定目錄的級數(shù),例如,對于縮放等級1,其目錄下的圖片數(shù)量要遠(yuǎn)遠(yuǎn)小于縮放等級10目錄下的圖片數(shù)量,那么對于縮放等級為I時,相除的結(jié)果商數(shù)為0,即其ニ級目錄名為0,需要說明的是,可以以O(shè)作為ニ級目錄名,也可以將ニ級目錄名省略,不再設(shè)置ニ級目錄,而對于縮放等級10可能就有必要設(shè)置ニ級目錄,甚至設(shè)置三級目錄。對于從哪些縮放等級開始需要設(shè)置ニ級目錄等可以通過調(diào)整M值來進(jìn)行控制。當(dāng)縮放等級最大為20吋,M值取值為1024是比較優(yōu)的。以下載的瓦片地圖的電子地圖的縮放等級最大為η=20,M=1024為例,對多級目錄索引的存儲方式進(jìn)行說明。當(dāng)需要下載的瓦片地圖的電子地圖的最大縮放等級為20時,則電子地圖的橫向最大索引X為22°-1,電子地圖的縱向最大索引y為22°-1,其中,X和y組成的坐標(biāo)系為根據(jù)墨卡托投影公式將緯度轉(zhuǎn)換為平面坐標(biāo)系的橫向X軸,將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系的縱向I軸。首先以電子地圖的類型分為不同的目錄,其次,以縮放等級為ー級目錄,將電子地圖的橫向最大索引X值除以1024,商數(shù)為ニ級目錄名,余數(shù)為三級目錄名,將電子地圖的縱向最大索引y值除以1024,商數(shù)為四級目錄名,余數(shù)為瓦片地圖的圖片文件的文件名。需要說明的是,在實施時,不同的電子地圖提供商提供的電子地圖的縮放等級不完全相同,縮放等級的級數(shù)越高,電子地圖的精確度越高,存儲的目錄等級取決于選擇的除數(shù)的大小,例如,當(dāng)電子地圖的最大縮放等級為10吋,電子地圖的橫向最大索引X為21(1-1,縱向最大索引y為21(|-1,經(jīng)過電子地圖的橫向最大索引X值除以1024,商數(shù)為ニ級目錄名,余數(shù)為三級目錄名,將電子地圖的縱向最大索引y值除以1024,商數(shù)為四級目錄名,余數(shù)為瓦片地圖的圖片文件的文件名,只有一個目錄名;如果電子地圖的橫向最大索引X值除以512,商數(shù)為ニ級目錄名,余數(shù)為三級目錄名,將電子地圖的縱向最大索引y值除以512,商數(shù)為四級目錄名,余數(shù)為瓦片地圖的圖片文件的文件名,則可以有三個目錄名和一個文件夾,又或者,當(dāng)電子地圖的最大縮放等級為22吋,電子地圖的橫向最大索引X為222-1,縱向最大索引y為222-1,經(jīng)過電子地圖的橫向最大索引X值除以2048,商數(shù)為ニ級目錄名,余數(shù)為三級目錄名,將電子地圖的縱向最大索引y值除以2048,商數(shù)為四級目錄名,余數(shù)為瓦片地圖的圖片文件的文件名。由此可見,上述計算中的除數(shù)的選擇可以有不同的方式,本實施方式是比較優(yōu)選的ー種,但不限于此。作為ー個較優(yōu)的實施方式,在從本地獲取瓦片地圖,組織并顯示瓦片地圖中,可以根據(jù)查詢請求中的縮放等級和經(jīng)緯度獲取圖塊編號和圖塊內(nèi)的像素坐標(biāo),并將圖塊編號轉(zhuǎn)換為顯示屏幕的屏幕坐標(biāo);根據(jù)圖塊編號和圖塊內(nèi)的像素坐標(biāo)獲取填充滿顯示屏幕的瓦片數(shù)量及顯示屏幕的坐標(biāo)范圍;將坐標(biāo)范圍轉(zhuǎn)換為圖塊的編號,根據(jù)編號依次獲取瓦片地圖的數(shù)據(jù),并組織和顯示所獲取的瓦片地圖,優(yōu)選地,從內(nèi)存緩沖區(qū)中獲取瓦片地圖的數(shù)據(jù),在從內(nèi)存中獲取不到瓦片地圖的數(shù)據(jù)的情況下,則從本地存儲器加載瓦片地圖的數(shù)據(jù),將瓦片地圖的數(shù)據(jù)存放至內(nèi)存緩沖區(qū)。通過上述實施例,采用預(yù)先下載電子地圖的瓦片地圖,并將瓦片地圖以多級目錄索引的方式存儲在本地;接收查詢請求,確定查詢請求對應(yīng)的瓦片地圖;從本地獲取瓦片地圖,組織并顯示瓦片地圖。使得在沒有互聯(lián)網(wǎng)接入時,可以快速地、實時瀏覽電子地圖,提聞了用戶體驗。在本實施例中,還提供了ー種電子地圖的顯示裝置,用于實現(xiàn)上述實施例及其優(yōu)選實施方式,已經(jīng)進(jìn)行過說明的不再贅述,下面對該系統(tǒng)中涉及到的模塊進(jìn)行說明。需要說明的是,以下所使用的術(shù)語“模塊”“單元”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的系統(tǒng)和方法較佳地以軟件來實現(xiàn),但是硬件或者軟件和硬件的組合的實現(xiàn)也是可以的。圖2是根據(jù)本發(fā)明實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖,如圖2所示,該裝置包括下載模塊20,存儲模塊30,查詢模塊40,顯示模塊50。下面對該裝置的各個模塊進(jìn)行說明。下載模塊20,用于預(yù)先下載電子地圖的瓦片地圖;存儲模塊30連接至下載模塊20,用于將瓦片地圖以多級目錄索引的方式存儲在本地;查詢模塊40連接至存儲模塊30,用于接收查詢請求,確定查詢請求對應(yīng)的瓦片地圖;顯示模塊50連接至查詢模塊40,用于從本地獲取瓦片地圖,組織并顯示瓦片地圖。圖3是根據(jù)本發(fā)明優(yōu)選實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖,如圖3所示,在該裝置中,下載模塊20還可以包括獲取單元200,形成単元202,下載單元204。下面對該裝置的各個模塊進(jìn)行說明,已經(jīng)進(jìn)行過說明的不再贅述。獲取單元200,用于獲取電子地圖服務(wù)提供商提供瓦片地圖的URL;形成単元204連接至獲取單元200,用于根據(jù)需要下載的瓦片地圖填充URL中的參數(shù),形成完整的URL;下載單元206連接至行程単元204,用于根據(jù)完整的URL下載需要下載的瓦片地圖。存儲模塊30,用于根據(jù)以下至少之ー建立多級目錄電子地圖的類型、經(jīng)緯度、縮放等級,其中,經(jīng)緯度表示為(x、y),χ和y組成的坐標(biāo)系為根據(jù)墨卡托投影公式將全球經(jīng)緯度轉(zhuǎn)換為平面坐標(biāo)系,原點(diǎn)位于該坐標(biāo)系的左上角,將經(jīng)度轉(zhuǎn)換為坐標(biāo)系橫向X軸,將緯度轉(zhuǎn)換為平面坐標(biāo)系縱向y軸,當(dāng)電子地圖的瓦片地圖的最大縮放等級為η吋,則X的值最大為2n-l,y的值為2n-l。圖4是根據(jù)本發(fā)明另一個優(yōu)選實施例的電子地圖的顯示裝置的結(jié)構(gòu)框圖,如圖4所示,在該裝置中,顯示模塊50還可以包括獲取單元500。獲取單元500,用于從內(nèi)存緩沖區(qū)中獲取瓦片地圖的數(shù)據(jù),在從內(nèi)存中獲取不到瓦片地圖的數(shù)據(jù)的情況下,則從本地存儲器加載瓦片地圖的數(shù)據(jù),將瓦片地圖的數(shù)據(jù)存放至內(nèi)存緩沖區(qū)。已經(jīng)進(jìn)行過說明的不再贅述。下面結(jié)合上述實施例及優(yōu)選實施方式對ー個優(yōu)選實施例進(jìn)行說明。該優(yōu)選實施例雖然以Google地圖為例進(jìn)行說明,但是對于其他地圖提供商所提供的電子地圖同樣適用。在Google成功推出谷歌地圖以來,瓦片地圖技術(shù)向前推進(jìn)了一大步,谷歌地圖從最初的普通地圖,到目前的地形地圖、衛(wèi)星地圖以及合成地圖,都使用了這ー技木,讓覆蓋全球的豐富地圖資源,都可以通過網(wǎng)絡(luò)進(jìn)行瀏覽。在本優(yōu)選實施例中下載指定區(qū)域的瓦片地圖數(shù)據(jù)并有效組織數(shù)據(jù)存儲和確定離線顯示地圖時的顯示邊界,讀取、緩存地圖數(shù)據(jù)。在接入互聯(lián)網(wǎng)的環(huán)境下,預(yù)先獲得谷歌地圖的瓦片地圖數(shù)據(jù),并將該瓦片地圖數(shù)據(jù)存儲在本地。在離線環(huán)境狀態(tài)下,以這些已獲取的瓦片地圖數(shù)據(jù)為依據(jù),實現(xiàn)在客戶端瀏覽電子地圖,并可進(jìn)行平移、縮放等操作。在本優(yōu)選實施例中,由于瓦片地圖數(shù)據(jù)采用的是谷歌的地圖數(shù)據(jù),因此,本實施例中對谷歌地圖的地圖切片規(guī)則及獲取機(jī)制進(jìn)行了說明,并且對下載的數(shù)據(jù)進(jìn)行了有效地組織,建立快速的索引機(jī)制,以便顯示時快速檢索到數(shù)據(jù)。離線瀏覽地圖時,需要準(zhǔn)確確定地圖邊界并獲取相應(yīng)瓦片地圖,還將使用緩存技術(shù)將讀取過的瓦片地圖數(shù)據(jù)存入內(nèi)存緩沖區(qū),并建立索弓I,這將能在平移等操作中更快速顯示地圖。谷歌地圖使用的是Web墨卡托投影(SphericalMercatorEPSG:900913(EPSG3857)),將地球模擬成圓球體,以整個世界為范圍,赤道作為標(biāo)準(zhǔn)緯線,本初子午線作為中央經(jīng)線,兩者交點(diǎn)為坐標(biāo)原點(diǎn),向東向北為正,向西向南為負(fù),南北極在地圖的正下、正上,而東西方向處于地圖的正右、正左。谷歌地圖切片吋,以緯線方向為X軸,向右為正;以經(jīng)線方向為y軸,向下為正,將原點(diǎn)移至左上角,這樣保證了切片之后的瓦片地圖的編號在X、I方向上均為正值,便于計算。谷歌地圖主要提供普通地圖(也稱為平面地圖)、地形地圖、衛(wèi)星地圖以及合成地圖。地圖數(shù)據(jù)都是柵格數(shù)據(jù),參照金字塔模型按照不同的縮放等級,切割成256X256像素大小的流式網(wǎng)絡(luò)圖形格式(PortableNetworkGraphicFormat,簡稱為PNG)的地圖瓦片,谷歌地圖目前提供23個縮放等級,即,O22,其中,縮放等級為O時,全球被容納在ー塊瓦片中顯不。圖5是與本發(fā)明實施例相關(guān)的縮放等級為I時地圖的切片分布示意圖,如圖5所示,縮放等級為I吋,整個世界被切片為4塊圖片(例如,當(dāng)為谷歌地圖時,整個世界地圖可以被切片為4塊256X256像素的圖片),每塊的編號如圖所示,依次為(0,0),即左上x=O,y=O;(1,0),即右上X=l,y=O;(O,I),即左下x=0,y=1;(1,1),即右下x=I,y=I。依此類推,縮放等級每增加I級,每ー小塊都又被切片為4塊,瓦片數(shù)量將在橫向和縱向上各増加I倍,總數(shù)將較上ー級增加4倍。切片后按照X軸方向從左往右及y軸方向從上往下依次編號。當(dāng)縮放等級為22吋,此時為地圖最精細(xì)的時候,瓦片數(shù)量將增加為22X22。x、y的取值范圍則為O222-1。圖6是根據(jù)本發(fā)明優(yōu)選實施例的下載及存儲瓦片地圖數(shù)據(jù)的流程圖,下載時用戶使用下載程序可以輸入如下參數(shù)需要下載的電子地圖的類型、需要下載的電子地圖的經(jīng)緯度、需要下載的區(qū)域跨度、縮放等級,優(yōu)選地,還可以輸入標(biāo)簽語言,例如,可以是en,表示英文,當(dāng)然,該標(biāo)簽語言也可以不輸入,直接下載默認(rèn)語言的版本,或者是根據(jù)下載者所在地當(dāng)?shù)卣Z言下載,例如,在中國地域內(nèi),默認(rèn)為中文。如圖6所示,該流程包括如下步驟步驟S601,獲取基準(zhǔn)URL,即網(wǎng)頁地址。首先根據(jù)電子地圖的類型,請求如下URLhttp://maps.google.com/mapst=,其中,t為m時表示普通地圖,t為h時表示合成地圖,t為k時表示衛(wèi)星地圖,t為P時表示地形地圖。分析響應(yīng)頁面,根據(jù)如下正則表達(dá)式列表依次匹配http://([a-z]{2,3}),google.com/([a-z]+)[/]v=([a-zO-9.]+)&http://([a-z]{2,3}),google.com/([a-z]+)[/]v=([a-zO-9.]+)\\\\x26<http://([a-z]{2,3}),google.com/([a-z]+)[/]lyrs=([a-z@0-9.]+)&http://([a-z]{2,3}),google.com/([a-z]+)[/]lyrs=([a-z@0-9.]+)\\\\x26http://([a-z]{2,3}).google.com/([a-z]+)[/]v\\\\x3d([a-z0-9.]+)\\\\x26獲取的形式有多種,例如,獲取形式可能是http://mtO.google,com/vt/lyrs=mil40&,或者h(yuǎn)ttp://mt0.google,com/vt/v=mil40&,或者h(yuǎn)ttp://khm0.google,com/kh/V=79&,但不限于此。在上述的列表提供的是目前谷歌服務(wù)器能夠提供的地圖服務(wù)的URL格式,匹配的格式即為當(dāng)前地圖類型下的基準(zhǔn)URL。步驟S602,根據(jù)經(jīng)纟韋度計算區(qū)域編號(x,y)。需要說明的是,Google采用的是Web墨卡托投影,即,將地球當(dāng)作圓球體進(jìn)行投影,半徑可取定長6378137米,以本初子午線和赤道交叉點(diǎn)為原點(diǎn)。并且,采用WGS84(EPSG:4326)地心坐標(biāo)系中的經(jīng)緯度,在WGS84(EPSG4326)中,經(jīng)度為東經(jīng),取值范圍為-180180度;緯度為北緯,取值范圍為-9090度。其他的電子地圖提供商可以采用其他的方式,不限于此。用戶輸入WGS84(EPSG:4326)地心坐標(biāo)系中的經(jīng)緯度,然后根據(jù)墨卡托投影公式將經(jīng)緯度轉(zhuǎn)換成平面坐標(biāo)系中的坐標(biāo)(X,y),單位為米,再以此為中心根據(jù)輸入的區(qū)域跨度,反向計算出投影到平面上時的左上角及右下角的WGS84坐標(biāo)系中的經(jīng)緯度,該計算出的經(jīng)緯度即為邊界經(jīng)緯度。需要說明的是,Google按經(jīng)度方向及緯度方向給瓦片地圖編號X、y時,將坐標(biāo)原點(diǎn)移到圖5中的O點(diǎn),需要在公式中進(jìn)行坐標(biāo)的變換,然后按照谷歌地圖編號計算規(guī)則,計算出邊界經(jīng)緯度的X、y編號,X及I的范圍就是該區(qū)域編號的范圍。需要注意的是,實施吋,由于web墨卡托投影為正方形,由墨卡托曲線通過計算可得出實際緯度取值范圍是-85.05112885.051128度,所以當(dāng)緯度Φ靠近極地時地圖將產(chǎn)生嚴(yán)重變形,因此,谷歌暫時不提供高緯度地區(qū)的高精度地圖。計算出的x、y值中的整數(shù)部分即為經(jīng)緯度為(λ,φ)時在谷歌地圖坐標(biāo)中的圖塊坐標(biāo),小數(shù)部分再按照谷歌地圖每塊瓦片256X256像素計算,可獲得該點(diǎn)在該圖塊坐標(biāo)中的偏移值。顯示地圖時也將使用該公式計算。步驟S603,組織完整URL,多線程獲取瓦片地圖數(shù)據(jù)。獲取到邊界的x、y編號范圍后,將其與基準(zhǔn)URL、標(biāo)簽語言、縮放等級一起,拼接成形式為基準(zhǔn)URL&hl=&x=&y=&z=的完整URL,其中,標(biāo)簽語言hi可以為en,表示英文,zh,表示中文,jp,表示日文等,z為縮放等級。Google采取負(fù)載平衡,將存放地圖數(shù)據(jù)的服務(wù)器分為4臺,分別為mtO、mtl、mt2、mt3,4臺服務(wù)器上的數(shù)據(jù)完全一祥。衛(wèi)星地圖數(shù)據(jù)単獨(dú)提供4臺服務(wù)器存放,分別為khmO、khml、khm2、khm3。并且Google對過多的并發(fā)獲取地圖數(shù)據(jù)會采取限制,過多的請求數(shù)據(jù)時,會返回錯誤的頁面。所以使用多線程技木,向不同的服務(wù)器循環(huán)請求生成的完整URL來獲取所需的瓦片地圖數(shù)據(jù)。步驟S604,建立多級目錄索引機(jī)制,存儲瓦片地圖數(shù)據(jù)。獲取到數(shù)據(jù)后,按照多級目錄索引的方式將其存儲在本地,便于顯示時快速索引數(shù)據(jù)。為了達(dá)到地圖分辨率和數(shù)據(jù)管理之間的平衡,本優(yōu)選實施例中,選取地圖最大縮放等級為20,橫向坐標(biāo)X的最大索引為22°-1,縱向坐標(biāo)y的最大索引也為22°-1。在本優(yōu)選實施例中,以地圖最大縮放等級為20,橫向坐標(biāo)X的最大索引為22°_1,縱向坐標(biāo)y的最大索引也為22°-1為例對本地保存瓦片地圖進(jìn)行說明。圖7是根據(jù)本發(fā)明優(yōu)選實施例的瓦片地圖數(shù)據(jù)組織結(jié)構(gòu)示意圖,如圖7所示首先按照地圖類型分不同目錄(例如,普通地圖,地形地圖分為兩個不同的目錄),其次以縮放等級為目錄(例如,縮放等級為9吋,存放的目錄名就為9),在該縮放等級目錄下,按照X值除以1024,商數(shù)為ニ級目錄名,余數(shù)為三級目錄名,這兩級目錄一共可包含1024X1024個目錄,可全部容納等級為20時的最大索引22°-1,同樣,將y值除以1024,商數(shù)為四級目錄名,余數(shù)為PNG文件的文件名,可容納1024個文件夾,每個文件夾下又能容納1024個PNG文件。圖8是根據(jù)本發(fā)明優(yōu)選實施例的離線顯示谷歌地圖的流程圖,離線瀏覽地圖時,用戶在系統(tǒng)中輸入所需電子地圖的經(jīng)緯度,系統(tǒng)將以此經(jīng)緯度為中心在瀏覽窗ロ的中心位置顯示該點(diǎn),根據(jù)區(qū)域跨度確定的周邊區(qū)域?qū)⑻顫M整個窗ロ,對地圖進(jìn)行瀏覽、縮放、平移等操作。如圖8所示,該流程包括如下步驟步驟S801,根據(jù)用戶輸入獲取相應(yīng)的瓦片地塊坐標(biāo)及偏移像素位置,并將其轉(zhuǎn)換為屏幕坐標(biāo)。在該步驟S801中,以瀏覽窗ロ為范圍,確定屏幕坐標(biāo)系,橫向為X軸,縱向為y軸,瀏覽窗ロ中心點(diǎn)為原點(diǎn)。根據(jù)用戶輸入的縮放等級及經(jīng)緯度計算圖塊編號(X,y)以及圖塊內(nèi)的像素坐標(biāo),并將該圖塊坐標(biāo)變換為屏幕坐標(biāo)。步驟S802,將步驟S801中的圖塊作為中心,根據(jù)瀏覽窗ロ大小確定需要顯示的邊界。其中,將步驟S801中計算出的圖塊的坐標(biāo)及圖塊內(nèi)的像素坐標(biāo)作為瀏覽窗ロ的中心,計算填充滿該瀏覽窗ロ所需的瓦片數(shù)量及屏幕坐標(biāo)范圍。步驟S803,查詢緩沖區(qū),獲取和拼接瓦片地圖。將步驟S802中計算出的屏幕坐標(biāo)范圍變換為圖塊編號(X,y),然后依次獲取瓦片地圖數(shù)據(jù)并在瀏覽窗ロ拼接圖片。獲取數(shù)據(jù)時需要判斷該瓦片地圖數(shù)據(jù)是否為初次加載瓦片地圖數(shù)據(jù),判斷的方法可以是以需要查詢的圖片完整路徑為索引查詢緩沖區(qū),若查詢不到則從本地存儲系統(tǒng)加載瓦片地圖數(shù)據(jù),加載時根據(jù)圖塊編號(x,y)及存儲瓦片地圖數(shù)據(jù)時的數(shù)據(jù)組織方式(例如,可以使用圖7所示的方式)計算出實際瓦片地圖的文件路徑,然后加載地圖數(shù)據(jù),并以圖片完整路徑為索引將其放入緩沖區(qū);若能查詢到則直接從緩沖區(qū)加載瓦片地圖數(shù)據(jù)。步驟S804,改變坐標(biāo)或縮放、平移地圖時刷新顯示頁面。當(dāng)瀏覽窗ロ發(fā)生變化或地圖平移、縮放時,需要刷新圖片,此時需重新計算需要加載的圖片的屏幕坐標(biāo)和圖塊編號,然后計算圖片完整路徑,然后在緩沖區(qū)中查找,如果找不到,在可以再次查找本地存儲的瓦片地圖,如果能夠找到,則直接加載。在此使用緩沖區(qū)存儲,并且直接從內(nèi)存讀取數(shù)據(jù)有效地解決了圖像反復(fù)平移時對本地存儲文件的頻繁訪問,還可以大大減少時延。通過上述實施例及其優(yōu)選實施方式,使瓦片地圖數(shù)據(jù)和使用電子地圖服務(wù)分離,在有互聯(lián)網(wǎng)接入時預(yù)先下載所需要的電子地圖的瓦片地圖數(shù)據(jù),使用時不需要互聯(lián)網(wǎng)接入,由于瓦片地圖數(shù)據(jù)是預(yù)先下載的,且只須下載一次,客戶端瀏覽時直接從本地獲取數(shù)據(jù),從而使得瀏覽的速度極快,并且可以實時顯示地圖,提高了用戶體驗。在另外ー個實施例中,還提供了ー種軟件,該軟件用于執(zhí)行上述實施例及優(yōu)選實施例中描述的技術(shù)方案。在另外ー個實施例中,還提供了ー種存儲介質(zhì),該存儲介質(zhì)中存儲有上述軟件,該存儲介質(zhì)包括但不限于光盤、軟盤、硬盤、可擦寫存儲器等。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種電子地圖的顯示方法,其特征在于包括如下步驟預(yù)先下載所述電子地圖的瓦片地圖,并將所述瓦片地圖以多級目錄的方式存儲在本地;接收查詢請求,確定所述查詢請求對應(yīng)的瓦片地圖;從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,預(yù)先下載所述電子地圖的瓦片地圖包括獲取電子地圖服務(wù)提供商提供瓦片地圖的統(tǒng)一資源定位符;根據(jù)需要下載的瓦片地圖填充所述統(tǒng)一資源定位符中的參數(shù),形成完整的統(tǒng)一資源定位符;根據(jù)所述完整的統(tǒng)一資源定位符下載所述需要下載的瓦片地圖。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)需要下載的瓦片地圖填充所述統(tǒng)一資源定位符中的經(jīng)緯度包括根據(jù)墨卡托投影公式使用地球半徑的長度將全球經(jīng)緯度轉(zhuǎn)換為平面坐標(biāo)系;使用所述平面坐標(biāo)系的坐標(biāo)填充所述統(tǒng)一資源定位符中的經(jīng)緯度參數(shù)。4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述多級目錄索引的方式包括根據(jù)以下至少之一建立所述多級目錄所述電子地圖的類型、經(jīng)緯度、縮放等級,其中,所述經(jīng)緯度表示為(x、y),χ和y組成的坐標(biāo)系為根據(jù)墨卡托投影公式將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系,原點(diǎn)位于所述平面坐標(biāo)系的左上角,將經(jīng)度轉(zhuǎn)換為所述平面坐標(biāo)系的橫向X軸,將緯度轉(zhuǎn)換為所述平面坐標(biāo)系縱向y軸,當(dāng)所述電子地圖的瓦片地圖的最大縮放等級為η時,則所述X的值最大為2η-1,所述y的值為2n-l。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述多級目錄索引的方式還包括每個縮放等級均對應(yīng)一個目錄,將該縮放等級下的瓦片地圖的X值除以M,商數(shù)為該縮放等級目錄下二級目錄名,余數(shù)為該縮放等級目錄下的三級目錄名,將該縮放等級下的瓦片地圖的y值除以M,商數(shù)為該縮放等級目錄下的四級目錄名,余數(shù)為該瓦片地圖的圖片文件的文件名,其中,所述M為正整數(shù),所述M與縮放等級相對應(yīng)。6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所有縮放等級對應(yīng)的M值均為1024。7.根據(jù)權(quán)利要求4至6中任一項所述的方法,其特征在于,確定所述查詢請求對應(yīng)的瓦片地圖,從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖包括根據(jù)所述查詢請求中的縮放等級和經(jīng)緯度,確定瓦片地圖的(X,y)和所述瓦片地圖內(nèi)的像素坐標(biāo),并將所述像素坐標(biāo)轉(zhuǎn)換為顯示屏幕的屏幕坐標(biāo);確定填充滿所述顯示屏幕的瓦片數(shù)量及所述顯示屏幕的坐標(biāo)范圍;根據(jù)瓦片地圖的(x,y)從本地獲取瓦片地圖,組織并顯示所獲取的瓦片地圖。8.根據(jù)權(quán)利要求I所述的方法,其特征在于,從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖還包括從內(nèi)存緩沖區(qū)中獲取所述瓦片地圖的數(shù)據(jù),在從內(nèi)存中獲取不到所述瓦片地圖的數(shù)據(jù)的情況下,則從本地存儲器加載所述瓦片地圖的數(shù)據(jù),將所述瓦片地圖的數(shù)據(jù)存放至所述內(nèi)存緩沖區(qū)。9.一種電子地圖的顯示裝置,其特征在于包括下載模塊,用于預(yù)先下載所述電子地圖的瓦片地圖;存儲模塊,用于將所述瓦片地圖以多級目錄索引的方式存儲在本地;查詢模塊,用于接收查詢請求,確定所述查詢請求對應(yīng)的瓦片地圖;顯示模塊,用于從本地獲取所述瓦片地圖,組織并顯示所述瓦片地圖。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述下載模塊包括獲取單元,用于獲取電子地圖服務(wù)提供商提供瓦片地圖的統(tǒng)一資源定位符;形成單元,用于根據(jù)需要下載的瓦片地圖填充所述統(tǒng)一資源定位符中的參數(shù),形成完整的統(tǒng)一資源定位符;下載單元,用于根據(jù)所述完整的統(tǒng)一資源定位符下載所述需要下載的瓦片地圖。11.根據(jù)權(quán)利要求9或10所述的裝置,其特征在于,所述存儲模塊用于根據(jù)以下至少之一建立所述多級目錄所述電子地圖的類型、經(jīng)緯度、縮放等級,其中,所述經(jīng)緯度表示為U、y),X和y組成的坐標(biāo)系為根據(jù)墨卡托投影公式轉(zhuǎn)換的坐標(biāo)系,原點(diǎn)位于所述坐標(biāo)系的左上角,將經(jīng)度轉(zhuǎn)換為平面坐標(biāo)系的坐標(biāo)系橫向X軸,將緯度轉(zhuǎn)換為所述平面坐標(biāo)系縱向y軸,當(dāng)所述電子地圖的瓦片地圖的最大縮放等級為η時,則所述X的值最大為2η-1,所述y的值為2n-l。全文摘要本發(fā)明公開了一種電子地圖的顯示方法及裝置,該方法包括如下步驟預(yù)先下載電子地圖的瓦片地圖,并將瓦片地圖以多級目錄索引的方式存儲在本地;接收查詢請求,確定查詢請求對應(yīng)的瓦片地圖;從本地獲取瓦片地圖,組織并顯示瓦片地圖。通過本發(fā)明提高了用戶體驗。文檔編號G06F17/30GK102819530SQ20111015542公開日2012年12月12日申請日期2011年6月10日優(yōu)先權(quán)日2011年6月10日發(fā)明者陳郁鋒申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1