專利名稱:計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及因特網(wǎng)圖形信息服務(wù)(Internet GISInternet Geographic Information Services)領(lǐng)域,特別涉及電子地圖的生成和顯示領(lǐng)域,具體是指一種計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法。
背景技術(shù):
Internet的空前發(fā)展,使電子地圖搜索成為廣泛發(fā)展的面向各層面用戶的功能。用戶可直接通過瀏覽器對地理信息數(shù)據(jù)進(jìn)行搜索、制圖、操作等。用戶可以方便的通過電子地圖查找地址和步行、公交或駕車路線,這極大方便了用戶對地址、道路的查找。用戶再也不需要在一張龐大的紙制地圖上查找某個地址的位置,或者某條路的走法。
目前眾多的Internet電子地圖功能中,都是用戶向后臺網(wǎng)站提交地圖查詢請求,后臺網(wǎng)站根據(jù)提交的請求與地圖服務(wù)器連接,獲取相應(yīng)的地片,然后將對應(yīng)的路徑信息或者地址信息經(jīng)過加工后與獲取的地片拼接成一張或者多張完整的地圖返回給網(wǎng)站服務(wù)器。最后在頁面上顯示地片。這種方式對后臺服務(wù)器的性能要求非常高,同時對地片的后續(xù)加工需要耗費大量的計算與時間。同時由于這種方式難以實現(xiàn)地圖在用戶本地的緩存,導(dǎo)致用戶每次請求地圖,都必須提交給后臺服務(wù)器,重新生成新的地圖再返回給前臺頁面,這種處理方式費事又費力,效果也不理想。尤其對用戶來講,前臺頁面看到的地圖沒有連續(xù)性,也不利于用戶的操作。
發(fā)明內(nèi)容
本發(fā)明的目的是克服了上述現(xiàn)有技術(shù)中的缺點,提供一種地圖信息生成與顯示速度較高、顯示效果較好、能夠有效降低系統(tǒng)及網(wǎng)絡(luò)負(fù)載、操作實用方便、便于功能擴(kuò)展、工作性能穩(wěn)定可靠、適用面較為廣泛的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法。
為了實現(xiàn)上述的目的,本發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法如下該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,包括通過網(wǎng)絡(luò)依次連接的前臺客戶端、后臺服務(wù)端和地圖服務(wù)器,其主要特點是,所述的方法包括以下步驟(1)將地圖信息按照預(yù)設(shè)的劃分規(guī)則劃分為多個地圖切塊信息;(2)將所述的多個地圖切塊信息存儲于地圖服務(wù)器上;(3)前臺客戶端根據(jù)用戶的查詢操作,向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(4)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(5)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(6)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上;(7)前臺客戶端判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊;(8)如果不需要,則直接在Flash界面中將相應(yīng)的地圖切塊信息隨著底層地圖一起移動至新的位置;(9)如果需要,則前臺客戶端向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(10)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(11)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(12)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的地圖切塊的劃分規(guī)則為將整個地圖按照縱向、橫向雙向以固定大小進(jìn)行分割。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的地圖切塊的大小為前臺客戶端Flash顯示界面中地圖可視區(qū)域面積的1/9~1/4。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的對地圖切塊信息進(jìn)行的緩存操作包括以下步驟(1)判斷預(yù)先設(shè)定好長度的地圖切塊信息緩存隊列是否已滿;(2)如果未滿,則直接將需要緩存的地圖切塊信息送入該緩存隊列中;(3)如果已滿,則根據(jù)緩存隊列中各個地圖切塊信息的最后顯示時間排序,將具有最早顯示時間的地圖切塊信息刪除;(4)將需要緩存的地圖切塊信息送入該緩存隊列中。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的緩存隊列的長度為100。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的地圖切塊信息的存儲模式為圖片,其屬性值包括地圖切塊名稱、圖片位置信息、比例尺信息和底層地圖的基本信息。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的圖片位置信息為圖片四個角的經(jīng)度值和緯度值。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊包括以下步驟(1)根據(jù)用戶拖曳地圖的操作,前臺客戶端判斷鼠標(biāo)位移是否已超出現(xiàn)有Flash界面顯示區(qū)域中的地圖切塊的邊線;(2)如果沒有超出,則返回不需要請求調(diào)用新的地圖切塊的結(jié)果;(3)如果超出,則將新超出的鼠標(biāo)位置信息與鼠標(biāo)拖動前的顯示地圖的位置進(jìn)行比較;(4)根據(jù)地圖切塊的大小計算出所需的新的切塊數(shù)量及對應(yīng)現(xiàn)有地圖切塊的相對位置;(5)將上述的切塊數(shù)量和相對位置信息作為結(jié)果返回。
該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的鼠標(biāo)位移包括鼠標(biāo)上、下、左、右的位移。
采用了該發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,由于采用了可重復(fù)使用的地圖切塊來分割存儲相應(yīng)的地圖信息,在前臺客戶端進(jìn)行地圖切塊緩存,并利用Flash技術(shù)在界面上實時拼接并顯示地圖切塊信息,同時根據(jù)用戶操作實時請求后臺服務(wù)端調(diào)用所需的新的地圖切塊,從而使得地圖信息生成與顯示速度大大提高,顯示效果也較為理想,無需多次導(dǎo)入同一區(qū)域的地圖,從而有效地降低了系統(tǒng)及網(wǎng)絡(luò)的負(fù)載;不僅如此,該方法在用戶的實用性方面有較大的改進(jìn),對用戶來說實現(xiàn)了“所見即所得”,并且操作簡單快捷,可以完成多種實用方便的功能操作;同時,這種方法便于進(jìn)行地圖應(yīng)用功能的擴(kuò)展,包括底層地圖的移動、上層地圖的移動、地址及路徑信息的高亮顯示、地圖區(qū)域勾畫等,而且工作性能穩(wěn)定可靠,適用面較為廣泛,給人們的信息獲取帶來了很大的便利。
圖1為本發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的地圖界面示意圖。
圖2為本發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的用戶拖曳地圖時調(diào)用新的地圖切塊界面示意圖。
圖3為本發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的系統(tǒng)部署示意圖。
圖4為本發(fā)明的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法的系統(tǒng)功能組成示意圖。
圖5為利用本發(fā)明的方法進(jìn)行Flash地圖與頁面的相互操作的界面示意圖。
具體實施例方式
為了能夠更清楚地理解本發(fā)明的技術(shù)內(nèi)容,特舉以下實施例詳細(xì)說明。
請參閱圖1和圖2所示,該計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,包括通過網(wǎng)絡(luò)依次連接的前臺客戶端、后臺服務(wù)端和地圖服務(wù)器,其中,所述的方法包括以下步驟(1)將地圖信息按照預(yù)設(shè)的劃分規(guī)則劃分為多個地圖切塊信息,該地圖切塊的劃分規(guī)則為將整個地圖按照縱向、橫向雙向以固定大小進(jìn)行分割,其中該地圖切塊的大小為前臺客戶端Flash顯示界面中地圖可視區(qū)域面積的1/9~1/4,該地圖切塊信息的存儲模式為圖片,其屬性值包括地圖切塊名稱、圖片位置信息、比例尺信息和底層地圖的基本信息,其中,該圖片位置信息為圖片四個角的經(jīng)度值和緯度值;(2)將所述的多個地圖切塊信息存儲于地圖服務(wù)器上;(3)前臺客戶端根據(jù)用戶的查詢操作,向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(4)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(5)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(6)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上,該緩存操作包括以下步驟(a)判斷預(yù)先設(shè)定好長度的地圖切塊信息緩存隊列是否已滿,在本實施例中,該緩存隊列的長度為100;(b)如果未滿,則直接將需要緩存的地圖切塊信息送入該緩存隊列中;(c)如果已滿,則根據(jù)緩存隊列中各個地圖切塊信息的最后顯示時間排序,將具有最早顯示時間的地圖切塊信息刪除;(d)將需要緩存的地圖切塊信息送入該緩存隊列中;(7)前臺客戶端判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊,該判斷操作包括以下步驟
(a)根據(jù)用戶拖曳地圖的操作,前臺客戶端判斷鼠標(biāo)位移是否已超出現(xiàn)有Flash界面顯示區(qū)域中的地圖切塊的邊線,該鼠標(biāo)位移包括鼠標(biāo)上、下、左、右的位移;(b)如果沒有超出,則返回不需要請求調(diào)用新的地圖切塊的結(jié)果;(c)如果超出,則將新超出的鼠標(biāo)位置信息與鼠標(biāo)拖動前的顯示地圖的位置進(jìn)行比較;(d)根據(jù)地圖切塊的大小計算出所需的新的切塊數(shù)量及對應(yīng)現(xiàn)有地圖切塊的相對位置;(e)將上述的切塊數(shù)量和相對位置信息作為結(jié)果返回;(8)如果不需要,則直接在Flash界面中將相應(yīng)的地圖切塊信息隨著底層地圖一起移動至新的位置;(9)如果需要,則前臺客戶端向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(10)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(11)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(12)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上,該緩存操作的過程與前述的過程相同。
在本發(fā)明的方法中,地圖切塊是均勻的,同一模式中切塊大小相同。切塊的大小可變,可在后臺應(yīng)用程序中定義,同時切塊的分割是將整個地圖按照縱向、橫向雙向切割的,而切塊大小確定的原則是與flash地圖的可視區(qū)域大小的1/4、1/6、1/9比較適宜。通常按照顯示區(qū)域800×600pixel計算,以200×200pixel大小的切塊比較適合。由于實際應(yīng)用環(huán)境是在多個系統(tǒng)當(dāng)中應(yīng)用的,所以各自的大小都不一樣,但基本原則是相同的。
地圖切塊可以以多種模式存儲地圖信息,如PNG、JPEG、GIF、BMP等,存儲模式可在后臺應(yīng)用程序中配置。每塊地圖切塊包括圖片的位置信息、比例尺信息、底層地圖的基本信息。而地圖的存儲形式現(xiàn)在支持的是PNG、JPEG、GIF、BMP圖片,在具體應(yīng)用中需要哪種類型可在后臺程序中配置。
地圖切塊的屬性值中包含該地圖切塊上下左右四個角的經(jīng)度、緯度值(屬橫縱坐標(biāo))、地圖切塊的名稱(圖片名稱)、對應(yīng)的比例尺值、切塊的位置信息(在所在比例尺中的所有地圖切塊中的位置)。底層地圖的基本信息跟具體應(yīng)用有關(guān),而且通常情況下該信息中包含有路名、道路、高架等信息。
在用戶拖動地圖時,應(yīng)用層根據(jù)新請求切塊與現(xiàn)有顯示切塊的相對位置信息請求后臺系統(tǒng),后臺系統(tǒng)根據(jù)特殊的算法將請求的相對位置的新的切塊返回給應(yīng)用系統(tǒng)。算法是根據(jù)地圖的經(jīng)緯度信息計算,具體如下(1)根據(jù)用戶拖動地圖的操作,當(dāng)前flash顯示區(qū)域內(nèi)的地圖跟隨鼠標(biāo)一起移動,flash程序端判斷鼠標(biāo)位移(上下左右)是否已超出現(xiàn)有flash顯示區(qū)域中的地圖切塊邊線;(2)若上下左右沒有超出現(xiàn)有flash顯示區(qū)域中的地圖切塊邊線,則不做任何操作(但當(dāng)前flash顯示區(qū)域內(nèi)的地圖跟隨鼠標(biāo)一起移動);(3)如果上下左右有任何一邊或者2邊同時超出現(xiàn)有flash顯示區(qū)域中的地圖切塊邊線,則將新超出的鼠標(biāo)位置信息與鼠標(biāo)拖動前的顯示地圖的位置作比較,根據(jù)地圖切塊的長寬計算需新增加的切塊數(shù)量及對應(yīng)現(xiàn)有地圖切塊的相對位置(如鼠標(biāo)拖出現(xiàn)有范圍的右側(cè),則認(rèn)為新導(dǎo)入的地圖相對現(xiàn)有區(qū)域內(nèi)的地圖位置為橫坐標(biāo)的右側(cè)),根據(jù)這一相對位置信息請求后臺服務(wù)器,獲取對應(yīng)的地圖切塊圖片與地圖切塊的經(jīng)緯度信息;同時,考慮到目前一般前臺客戶應(yīng)用端的程序處理能力水平,F(xiàn)lash中緩存的地圖切塊的適當(dāng)數(shù)量為100個,但這個數(shù)字可根據(jù)客戶應(yīng)用端內(nèi)存處理能力做相應(yīng)的調(diào)整。其中,每一個切塊的大小通常在5KB~20KB左右,平均值在15KB的樣子,100個總共1500KB。
Flash應(yīng)用中將遵循隊列先進(jìn)先出的原則進(jìn)行緩存,根據(jù)所有顯示過的地圖切塊的最后顯示時間順利來排列,越先顯示的將被越早刪除。在達(dá)到最大緩存數(shù)時根據(jù)這一處理原則刪除排在前列顯示的地圖切塊。
在實際使用當(dāng)中,請參閱圖3所示,本發(fā)明的基于Flash技術(shù)的電子地圖系統(tǒng)分別部署在應(yīng)用服務(wù)器和地圖服務(wù)器上,其共同支持前臺客戶端的Flash應(yīng)用程序,在該基于Flash技術(shù)的電子地圖系統(tǒng)中,用戶只需要在前臺客戶端輸入地址名稱或者請求的起止地址,F(xiàn)lash電子地圖便會與網(wǎng)站后臺連接,后臺根據(jù)請求的內(nèi)容與地圖服務(wù)器連接,請求相應(yīng)的多個地圖切塊(事先生成的,可以重復(fù)使用的)。網(wǎng)站后臺直接將獲取的多個地圖切塊返回給Flash,最終以Flash界面形式顯示地圖,并在Flash層面將相應(yīng)的地址、路徑及其他信息顯示在底層地圖上,以實現(xiàn)完整的地圖搜索結(jié)果圖。當(dāng)用戶在Flash中拖拽地圖時,無需重新請求網(wǎng)站后臺及地圖服務(wù)器重新生成地圖,而是只需要直接向地圖服務(wù)器申請當(dāng)前顯示地圖區(qū)域外的地圖切塊(事先已生成的)即可,同時在Flash中早前已拼接的上層圖層及數(shù)據(jù)無需重新生成,只需隨著底圖一起移動即可。并且在Flash中緩存最近使用過的幾個、幾十個甚至幾百個地圖切塊以及其他相關(guān)信息。
本發(fā)明的電子地圖系統(tǒng)是以Flash為顯示媒介,把一張張固定大小的地圖切塊拼裝起來,最終展現(xiàn)給用戶一張完整的地圖。本地圖提供拖拽功能,當(dāng)用戶按下并同時移動鼠標(biāo)時,F(xiàn)lash電子地圖將跟隨鼠標(biāo)作相應(yīng)的移動。此時,被移動到顯示區(qū)域外的地圖切塊將會被緩存(或者刪除),新移動進(jìn)來的地圖顯示區(qū)域?qū)?dǎo)入相應(yīng)的切塊。這一特點極大地提高地圖的導(dǎo)入速度,對用戶來說實現(xiàn)了“所見即所得”,并且無需多次導(dǎo)入同一區(qū)域的地圖(而目前很多地圖顯示網(wǎng)站都需要根據(jù)用戶的請求每次生成新的地圖)。
本發(fā)明的電子地圖系統(tǒng)在顯示地圖的同時,還會高亮顯示用戶所請求的地址或道路。在其進(jìn)行初始化的時候,會從后臺程序端導(dǎo)入相應(yīng)的地址信息或者路徑信息(包括點的經(jīng)緯度以及地址的名稱、道路信息等)。Flash將把此類信息保存到內(nèi)存中。Flash在導(dǎo)入每個地圖切塊的時候,每個地圖切塊將會根據(jù)所包含的經(jīng)緯度范圍顯示此區(qū)域內(nèi)的單個或多個請求顯示的地址。在所需顯示區(qū)域內(nèi),將把所對應(yīng)的道路高亮顯示。在用戶拖拽地圖的時候,地址和道路將會跟隨地圖作相應(yīng)的移動。
因此,請參閱圖4所示,在基于本發(fā)明以上實現(xiàn)方法的基礎(chǔ)上,用戶在本電子地圖系統(tǒng)的時候,能夠完成圖中所示的各種功能,并且能夠產(chǎn)生以下多個方面的好的功能和效果1.當(dāng)鼠標(biāo)拖拽地圖時,當(dāng)前已顯示的地圖將跟隨鼠標(biāo)一起移動,并不會消失,當(dāng)鼠標(biāo)釋放時,無需刷新已顯示區(qū)域的地圖。
2.Flash在導(dǎo)入地圖切塊的過程中是采用并行導(dǎo)入的方式,以提高地圖顯示的效率。從而,在Flash應(yīng)用層中,在導(dǎo)入新的地圖切塊時,將直接根據(jù)不同地圖切塊對于當(dāng)前已顯示地圖切塊的相對位置并行導(dǎo)入,即在flash中多線程導(dǎo)入,每個新的地圖切塊占用一個線程。目的是為了縮短單線程地圖導(dǎo)入的時間。同時,在本電子地圖系統(tǒng)中,多線程的數(shù)量與同一時間內(nèi)導(dǎo)入地圖切塊的數(shù)量有關(guān),實際數(shù)量則與顯示區(qū)域內(nèi)最多可導(dǎo)入的地圖切塊數(shù)相關(guān)。如顯示區(qū)域最多包含9張切塊,則最多同時可請求9個線程導(dǎo)入9張切塊。這一多線程不同于JAVA、C中的多線程的概念,而是屬于Flash中的多線程,實際是等于在Flash中同時請求多個連接。
3.若在地圖上有高亮顯示的路徑時,在拖拽地圖過程中,當(dāng)前顯示的路徑也將跟隨鼠標(biāo)一起移動,在鼠標(biāo)釋放時,仍保持原狀,并不會消失或刷新重新顯示。
4.若在地圖上有高亮顯示的單個或多個地址時,在拖拽地圖過程中,當(dāng)前顯示的單個或多個地址也將跟隨鼠標(biāo)一起移動,在鼠標(biāo)釋放時,仍保持原狀,并不會消失或刷新重新顯示。
5.為提高Flash顯示地圖的效率,在當(dāng)前地圖顯示區(qū)域內(nèi)只高亮顯示落在其范圍內(nèi)的路徑。當(dāng)鼠標(biāo)拖出當(dāng)前區(qū)域,程序?qū)⒏鶕?jù)一定的算法特征,將落在新請求地圖區(qū)域內(nèi)的路徑陸續(xù)跟隨新請求的地圖切塊一并顯示。且為并行顯示方式。由于路徑信息中包含眾多的點位信息,F(xiàn)lash本身在處理眾多點位信息并完成畫出的效率較低,所以本電子地圖系統(tǒng)的這一分塊并行顯示路徑的特性大大彌補(bǔ)了Flash畫點效率低的缺陷。其中,每一個地圖切塊都包含對應(yīng)的經(jīng)緯度范圍信息,被查詢內(nèi)容將在后臺系統(tǒng)中經(jīng)過運(yùn)算后查詢出對應(yīng)的經(jīng)緯度信息,然后根據(jù)其經(jīng)緯度信息與顯示區(qū)域的經(jīng)緯度范圍作匹配,若落在某一地圖切塊的經(jīng)緯度范圍內(nèi),則再根據(jù)需高亮顯示內(nèi)容的經(jīng)緯度與所落切塊的大小、經(jīng)緯度范圍做相對位置計算,在新圖層中以與所落切塊的相對位置高亮顯示其標(biāo)簽與信息內(nèi)容。
6.高亮顯示的路徑及地址的詳細(xì)信息圖層均為半透明模式,以方便用戶能看清底層的地圖。該半透明模式是借用了Flash的圖層透明顯示效果,在不同圖層上實現(xiàn)半透明疊加的方法實現(xiàn)最終的半透明效果,其是Flash中的成熟技術(shù)。
7.在等待Flash導(dǎo)入地圖的過程中,本電子地圖為每一個地圖切塊設(shè)置一個動態(tài)的導(dǎo)入等待動畫,明示告知用戶等待地圖的導(dǎo)入。
8.本電子地圖實現(xiàn)了于Internet頁面的交互操作從Internet頁面功能可通過javascript直接操作Flash電子地圖移動地圖或突出顯示某一地址標(biāo)簽及地址詳細(xì)信息圖層。
9.提供地圖區(qū)域的勾畫,包括橢圓、圓形或多邊形。實現(xiàn)所勾畫區(qū)域的面積計算;與應(yīng)用業(yè)務(wù)功能結(jié)合,為用戶提供所勾畫區(qū)域的安全設(shè)置(與手機(jī)功能結(jié)合)。在實際應(yīng)用中,可以利用鼠標(biāo)點選勾畫區(qū)域。如勾畫橢圓,將根據(jù)鼠標(biāo)落點與鼠標(biāo)移動的位移量計算弧度,并跟隨鼠標(biāo)移動重新計算并半透明高亮顯示對應(yīng)的橢圓型,在鼠標(biāo)釋放后,根據(jù)所勾畫的區(qū)域類型、大小及所落的單個或多個切塊的經(jīng)緯度范圍計算實際的面積;在安全設(shè)置方面,包括多種類型(與業(yè)務(wù)應(yīng)用有關(guān)),如設(shè)置某一區(qū)域,將其作為某用戶的安全區(qū)域,當(dāng)設(shè)置完成后,若對應(yīng)的用戶位置超出此區(qū)域(利用手機(jī)端或其他設(shè)備的GPS定位技術(shù)),應(yīng)用程序?qū)⒁远滔⒒蚱渌绞酵ㄖ脩?本人或其他相關(guān)人員)已超出安全區(qū)域。這一功能在安全應(yīng)用方面很有實效。
10.用戶可在地圖上直接定位查找出定位點的地址詳細(xì)信息(reverse geocoding)。
11.用戶可在地圖上定位起止點并獲取所在路徑的距離。這里,可以根據(jù)用戶在地圖上定位的起止點計算其位移量,并根據(jù)其所對應(yīng)的單個或多個地圖切塊的經(jīng)緯度范圍信息計算出兩點間的實際距離。其中兩點間距離的計算公式如下兩點間距離=1.1×102×((dDelLon×Cos((ll_lat+ur_lat)×DEG_TO_RAD/2))2+dDelLat2)1/2其中l(wèi)l_lat代表兩點中較小的一個緯度值;ll_lon代表兩點中較小的一個經(jīng)度值;ur_lat代表兩點中較大的一個緯度值;
ur_lon代表兩點中較大的一個經(jīng)度值;DEG_TO_RAD=π/180.0;兩點的緯度差值dDelLat=ll_lat-ur_lat;兩點的經(jīng)度差值dDelLon=ll_lon-ur_lon。
12.單個或多個定位地址的小區(qū)域定位若在地圖上有單個或多個地址標(biāo)簽,本電子地圖提供一個小區(qū)域的圖層,以最適宜的地圖顯示比例將單個或多個地址標(biāo)示在區(qū)域內(nèi),方便用戶整體把握地址間的相對位置與絕對位置。并與底層大地圖實現(xiàn)互操作,即可在底層大地圖中選中某一地址,將同時在小區(qū)域瀏覽圖層內(nèi)高亮顯示此地址;在小區(qū)域內(nèi)選中某一地址時,將同時反映到底層大地圖中將地圖移動到相應(yīng)地址位。小區(qū)域定位圖層可以隱藏或者顯示。其中的單個或多個定位地址的小區(qū)域定位為將根據(jù)所對應(yīng)的單個或多個地圖切塊的經(jīng)緯度范圍計算所有區(qū)域內(nèi)點位信息(經(jīng)緯度值)的相對位置,并顯示在小區(qū)域內(nèi)。小區(qū)域是指在Flash地圖上另外增加一個小的圖層,以更小比例顯示地圖的全貌。顯示比例在1∶4或者1∶6的樣子,根據(jù)具體應(yīng)用而定。因為在Flash地圖上可能同時有多個點位信息需要顯示,但地圖是可以拖動的,所以可能會在拖動后導(dǎo)致某個點位信息不落在顯示區(qū)域內(nèi),但為了方便用戶找尋這個點位信息,就設(shè)置了一個小區(qū)域,可以同時顯示多個點位信息,方便用戶找尋。
13.可將當(dāng)前顯示區(qū)域的地圖導(dǎo)成PDF文件輸出。
14.在Flash電子地圖上根據(jù)運(yùn)動軌跡的點位信息實現(xiàn)動態(tài)軌跡模擬或軌跡回放。這里,根據(jù)運(yùn)動軌跡的所有點位信息的經(jīng)緯度值與所在地圖切塊的經(jīng)緯度范圍做匹配,確定所有點位的相對位置,并與業(yè)務(wù)邏輯結(jié)合,根據(jù)實際運(yùn)動軌跡上點位的出現(xiàn)順序正向或反向順序顯示,并連接點位以顯示出事物的實際運(yùn)動路線。其主要目的是為了演示用戶實際運(yùn)行軌跡的需要,如用戶在某段時間內(nèi)開車走過的路。
15.在地址詳細(xì)信息圖層上提供下拉桿,實現(xiàn)小區(qū)域顯示多內(nèi)容的功能。并且提供相關(guān)鏈接或搜索功能。下拉桿來實現(xiàn)小區(qū)域顯示多內(nèi)容是指在底層地圖上實現(xiàn)新的顯示圖層,以顯示具體地址的詳細(xì)信息內(nèi)容及其他相關(guān)功能,如建立超級鏈接,搜索等。此下拉桿類似于瀏覽器的滾動條,可以將對應(yīng)地址的經(jīng)緯度信息或詳細(xì)地址作為搜索內(nèi)容在Flash當(dāng)中打開新的搜索頁面進(jìn)行搜索等。
16.地圖切塊的大小可以根據(jù)程序的配置而改變。
17.請參閱圖5所示,可以按照圖中的方式進(jìn)行Flash地圖與頁面的相互操作。其中在頁面中點中相應(yīng)的地址,將調(diào)用javascript代碼與Flash地圖交互,將地址的經(jīng)緯度信息傳遞給Flash,F(xiàn)lash將經(jīng)緯度信息與顯示區(qū)域內(nèi)的地圖切塊的經(jīng)緯度范圍作匹配,找到相應(yīng)的點位位置,并將地圖中心位置移動到這一點位信息,并將對應(yīng)地址的詳細(xì)信息圖層高亮顯示。以與頁面相呼應(yīng)。
采用了上述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,由于采用了可重復(fù)使用的地圖切塊來分割存儲相應(yīng)的地圖信息,在前臺客戶端進(jìn)行地圖切塊緩存,并利用Flash技術(shù)在界面上實時拼接并顯示地圖切塊信息,同時根據(jù)用戶操作實時請求后臺服務(wù)端調(diào)用所需的新的地圖切塊,從而使得地圖信息生成與顯示速度大大提高,顯示效果也較為理想,無需多次導(dǎo)入同一區(qū)域的地圖,從而有效地降低了系統(tǒng)及網(wǎng)絡(luò)的負(fù)載;不僅如此,該方法在用戶的實用性方面有較大的改進(jìn),對用戶來說實現(xiàn)了“所見即所得”,并且操作簡單快捷,可以完成多種實用方便的功能操作;同時,這種方法便于進(jìn)行地圖應(yīng)用功能的擴(kuò)展,包括底層地圖的移動、上層地圖的移動、地址及路徑信息的高亮顯示、地圖區(qū)域勾畫等,而且工作性能穩(wěn)定可靠,適用面較為廣泛,給人們的信息獲取帶來了很大的便利。
在此說明書中,本發(fā)明已參照其特定的實施例作了描述。但是,很顯然仍可以作出各種修改和變換而不背離本發(fā)明的精神和范圍。因此,說明書和附圖應(yīng)被認(rèn)為是說明性的而非限制性的。
權(quán)利要求
1.一種計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,包括通過網(wǎng)絡(luò)依次連接的前臺客戶端、后臺服務(wù)端和地圖服務(wù)器,其特征在于,所述的方法包括以下步驟(1)將地圖信息按照預(yù)設(shè)的劃分規(guī)則劃分為多個地圖切塊信息;(2)將所述的多個地圖切塊信息存儲于地圖服務(wù)器上;(3)前臺客戶端根據(jù)用戶的查詢操作,向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(4)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(5)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(6)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上;(7)前臺客戶端判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊;(8)如果不需要,則直接在Flash界面中將相應(yīng)的地圖切塊信息隨著底層地圖一起移動至新的位置;(9)如果需要,則前臺客戶端向后臺服務(wù)端發(fā)出調(diào)用相應(yīng)地圖切塊信息的請求;(10)后臺服務(wù)端將所述的請求發(fā)送至地圖服務(wù)器,并接收地圖服務(wù)器所返回的相應(yīng)的地圖切塊信息;(11)后臺服務(wù)器將所述的地圖切塊信息發(fā)送至前臺客戶端;(12)前臺客戶端對相應(yīng)的地圖切塊信息進(jìn)行緩存操作,并以Flash界面形式將相應(yīng)的地圖切塊信息顯示在底層地圖上。
2.根據(jù)權(quán)利要求1所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的地圖切塊的劃分規(guī)則為將整個地圖按照縱向、橫向雙向以固定大小進(jìn)行分割。
3.根據(jù)權(quán)利要求2所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的地圖切塊的大小為前臺客戶端Flash顯示界面中地圖可視區(qū)域面積的1/9~1/4。
4.根據(jù)權(quán)利要求1所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的對地圖切塊信息進(jìn)行的緩存操作包括以下步驟(1)判斷預(yù)先設(shè)定好長度的地圖切塊信息緩存隊列是否已滿;(2)如果未滿,則直接將需要緩存的地圖切塊信息送入該緩存隊列中;(3)如果已滿,則根據(jù)緩存隊列中各個地圖切塊信息的最后顯示時間排序,將具有最早顯示時間的地圖切塊信息刪除;(4)將需要緩存的地圖切塊信息送入該緩存隊列中。
5.根據(jù)權(quán)利要求4所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的緩存隊列的長度為100。
6.根據(jù)權(quán)利要求1至5中任一項所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的地圖切塊信息的存儲模式為圖片,其屬性值包括地圖切塊名稱、圖片位置信息、比例尺信息和底層地圖的基本信息。
7.根據(jù)權(quán)利要求6所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的圖片位置信息為圖片四個角的經(jīng)度值和緯度值。
8.根據(jù)權(quán)利要求7所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊包括以下步驟(1)根據(jù)用戶拖曳地圖的操作,前臺客戶端判斷鼠標(biāo)位移是否已超出現(xiàn)有Flash界面顯示區(qū)域中的地圖切塊的邊線;(2)如果沒有超出,則返回不需要請求調(diào)用新的地圖切塊的結(jié)果;(3)如果超出,則將新超出的鼠標(biāo)位置信息與鼠標(biāo)拖動前的顯示地圖的位置進(jìn)行比較;(4)根據(jù)地圖切塊的大小計算出所需的新的切塊數(shù)量及對應(yīng)現(xiàn)有地圖切塊的相對位置;(5)將上述的切塊數(shù)量和相對位置信息作為結(jié)果返回。
9.根據(jù)權(quán)利要求8所述的計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,其特征在于,所述的鼠標(biāo)位移包括鼠標(biāo)上、下、左、右的位移。
全文摘要
本發(fā)明涉及一種計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,包括將地圖信息按照預(yù)設(shè)的劃分規(guī)則劃分為地圖切塊、存儲于地圖服務(wù)器上、根據(jù)用戶的操作調(diào)用相應(yīng)地圖切塊信息、對地圖切塊信息進(jìn)行緩存操作并將地圖切塊信息顯示在底層地圖上、判斷用戶的地圖拖曳操作是否需要請求調(diào)用新的地圖切塊、根據(jù)結(jié)果直接將地圖切塊信息隨著底層地圖移動或者調(diào)用相應(yīng)地圖切塊信息并對地圖切塊信息進(jìn)行緩存操作并將地圖切塊信息顯示在底層地圖上。采用該種計算機(jī)上基于Flash技術(shù)的電子地圖生成與顯示的方法,使得地圖信息生成與顯示速度提高,顯示效果理想,無需多次導(dǎo)入同一區(qū)域的地圖,有效降低了系統(tǒng)及網(wǎng)絡(luò)負(fù)載,而且工作性能穩(wěn)定可靠,適用面較為廣泛。
文檔編號G06F17/30GK1828586SQ200510111759
公開日2006年9月6日 申請日期2005年12月21日 優(yōu)先權(quán)日2005年12月21日
發(fā)明者崔航, 沈怡華 申請人:泰為信息科技(上海)有限公司, 泰為公司