專利名稱:地圖標(biāo)注的繪制處理方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及地圖處理技術(shù)領(lǐng)域,特別是涉及一種地圖標(biāo)注的繪制處理方法,以及一種地圖標(biāo)注的繪制處理系統(tǒng)。
背景技術(shù):
隨著GIS (Geographic Information System,地理信息系統(tǒng))的發(fā)展,地圖上的標(biāo)注功能在眾多領(lǐng)域得到廣泛的應(yīng)用。由于地理信息系統(tǒng)的數(shù)據(jù)非常的大,GIS地圖上地理元素的文字標(biāo)注信息非常的密集,特別是縮放到較大顯示范圍的時(shí)候,標(biāo)注會(huì)出現(xiàn)互相重疊的情況,大量的標(biāo)注壓蓋了本應(yīng)呈現(xiàn)的地圖數(shù)據(jù),嚴(yán)重影響地圖的美觀和操作。特別是一些數(shù)據(jù)精細(xì)化程度較高的地圖,其數(shù)據(jù)量級(jí)能達(dá)到十萬級(jí)甚至上千萬級(jí),標(biāo)注的繪制會(huì)嚴(yán)重的拖慢地圖組件的顯示速度,甚至10到20秒才刷新一次,根本無法滿足正常的地圖使用。因此,如何能解決標(biāo)注快速、美觀的顯示,是地圖處理領(lǐng)域中亟待解決的問題。
發(fā)明內(nèi)容
基于此,本發(fā)明提供一種地圖標(biāo)注的繪制處理方法和系統(tǒng),能加快地圖標(biāo)注的繪制速度,并且標(biāo)注不會(huì)互相重疊,不會(huì)影響地圖操作。一種地圖標(biāo)注的繪制處理方法,包括如下步驟獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍;獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交。一種地圖標(biāo)注的繪制處理系統(tǒng),包括獲取模塊、獲取計(jì)算模塊、比較模塊和繪制模塊;所述獲取模塊用于獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍;所述獲取計(jì)算模塊用于獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;所述比較模塊用于將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;所述繪制模塊用于若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注。上述地圖標(biāo)注的繪制處理方法和系統(tǒng),將待顯示標(biāo)注與所有已顯示標(biāo)注的占用范圍進(jìn)行比較,只有當(dāng)待顯示標(biāo)注與每個(gè)已顯示標(biāo)注都沒有相交時(shí),才對(duì)該待顯示標(biāo)注進(jìn)行繪制顯示,已繪制的標(biāo)注有相交重疊的標(biāo)注則不被繪制,地圖上繪制的標(biāo)注就不會(huì)出現(xiàn)大量標(biāo)注互相壓蓋的情況,地圖的可視化效果更好更美觀;標(biāo)注不會(huì)壓蓋地圖數(shù)據(jù),方便進(jìn)行地圖操作;同時(shí)減少標(biāo)注的繪制數(shù)量,能極大地加快地圖的顯示速度。
圖1為本發(fā)明地圖標(biāo)注的繪制處理方法在一實(shí)施例中的流程示意圖。圖2為一實(shí)施例中待顯示標(biāo)注的示意圖。圖3為一實(shí)施例中判斷待顯示標(biāo)注與已顯示標(biāo)注不相交的示意圖。圖4為本發(fā)明地圖標(biāo)注的繪制處理系統(tǒng)在一實(shí)施例中的結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合實(shí)施例及附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于此。如圖1所示,為本發(fā)明地圖標(biāo)注的繪制處理方法在一實(shí)施例中的流程示意圖,包括如下步驟S11、獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍;在繪制待顯示標(biāo)注前,可先獲取當(dāng)前顯示的地圖上已繪制顯示的所有標(biāo)注,以及每個(gè)已顯示標(biāo)注的占用范圍;若當(dāng)前顯示的地圖包含的標(biāo)注過多,大量的標(biāo)注會(huì)互相重疊;在本步驟中首先獲取已在地圖上繪制顯示的標(biāo)注,獲取其占用范圍;在當(dāng)前顯示的地圖上,繪制某個(gè)地理元素的文字標(biāo)注需占用當(dāng)前地圖表面的一定區(qū)域,該第一占用范圍即為每個(gè)所述已顯示標(biāo)注在地圖表面上占用的第一矩形區(qū)域;后續(xù)待顯示標(biāo)注的占用范圍若與已繪制的標(biāo)注相交,則不進(jìn)行繪制。S12、獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;獲取待顯示標(biāo)注,根據(jù)該標(biāo)注的繪制信息計(jì)算該標(biāo)注若繪制顯示需占用的范圍;其中,該第二占用范圍為在所述地圖表面繪制所述待顯示標(biāo)注所需要的第二矩形區(qū)域;在一較佳實(shí)施例中,所述獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍的步驟具體為獲取所述待顯示標(biāo)注的內(nèi)容、坐標(biāo)字體和字號(hào),根據(jù)所述內(nèi)容、坐標(biāo)字體和字號(hào),通過測量字符串函數(shù)得到所述第二矩形區(qū)域。如圖2所示,該實(shí)施例中示出了一待顯示標(biāo)注的占用范圍的示意圖;該標(biāo)注D,標(biāo)注內(nèi)容為“廣州市”,在地圖中的像素坐標(biāo)為(300,400 ),該標(biāo)注的字體為宋體,在當(dāng)前的縮放比例下,該標(biāo)注的字號(hào)為16號(hào),根據(jù)標(biāo)注D的這三種繪制信息通過測量字符串函數(shù)即可得到其占用范圍,該占用范圍為繪制該標(biāo)注時(shí)在地圖上需占用的一矩形區(qū)域;在本實(shí)施例中,可采用測量字符串函數(shù),即MSDN (微軟公司面向軟件開關(guān)者的信息服務(wù))中 Graphic 的 MeasureString 方法,該 Graphics 的 MeasureString 方法,只要指定了字體和字符串后,用這個(gè)方法就能獲得一個(gè)矩形的區(qū)域,這個(gè)區(qū)域是Graphics對(duì)象用DrawString方法在空間表面繪制字符串時(shí)所要的區(qū)域;該區(qū)域只需用同一條對(duì)角線兩個(gè)頂點(diǎn)的坐標(biāo)即能表示,在本實(shí)施例中用該方法得到標(biāo)注D的占用范圍為{280,390,320,410},這里(280,390)為該矩形區(qū)域左下角D’的坐標(biāo),(320,410)為該矩形區(qū)域右上角D”的坐標(biāo)。S13、將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;
在一較佳實(shí)施例中,該步驟具體可包括獲取所述第二矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ;獲取所述第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3, y3)和(x4,y4),其中x3小于x4,y3大于y4 ;若xl大于x4,或者x2小于x3,或者yl小于y4,或者y2大于y3,則判斷所述待顯示標(biāo)注與所述已顯示標(biāo)注不相交;在步驟S12獲得了待顯示標(biāo)注的第二占用范圍后,與當(dāng)前每個(gè)已顯示標(biāo)注的第一占用范圍進(jìn)行對(duì)比;如圖3所示,設(shè)待顯示標(biāo)注的第二矩形區(qū)域?yàn)镽x,獲取Rx矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ;即其中(xl,yl)為Rx中矩形左上角的坐標(biāo),(x2,y2)為Rx中矩形右下角的坐標(biāo);設(shè)已顯示標(biāo)注Rl的第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3, y3)和(x4, y4),其中x3小于x4, y3大于y4 ;比較 Rx與Rl中的坐標(biāo),只要當(dāng)xl>x4或x2〈x3或yl〈y4或y2>y3這四種情況有一種成立,即可判斷Rx與Rl沒有相交;接下來繼續(xù)將Rx與其他已繪制的標(biāo)注R2 Rn進(jìn)行對(duì)比;通過矩形區(qū)域中兩個(gè)頂點(diǎn)坐標(biāo)的比較,即能快速地判斷得出比較結(jié)果。S14、若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注;若待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則可繪制顯示所述待顯示標(biāo)注;因此與已繪制的標(biāo)注有相交重疊的標(biāo)注則不被繪制,地圖上繪制的標(biāo)注就不會(huì)出現(xiàn)大量標(biāo)注互相壓蓋的情況,地圖的可視化效果更好更美觀;標(biāo)注不會(huì)壓蓋地圖數(shù)據(jù),方便進(jìn)行地圖操作;標(biāo)注的顯示數(shù)量和詳細(xì)程度會(huì)隨著地圖縮放比例的改變而改變,因此能滿足正常地圖顯示查看的需要;同時(shí)減少標(biāo)注的繪制數(shù)量,能極大地加快地圖的顯示速度;例如,10萬個(gè)標(biāo)注,在1024*768地圖組件下面繪制,一個(gè)標(biāo)注大概是O. 05毫秒,如果沒有經(jīng)過處理,100000*0. 05=5000毫秒,即為5秒;這個(gè)繪制速度是沒辦法接受的。而經(jīng)過本發(fā)明提供的技術(shù)進(jìn)行處理之后,需要繪制的標(biāo)注可縮減為5000個(gè),即5000*0. 05=250毫秒,速度可以提
高20倍。在一較佳實(shí)施例中,還可包括步驟創(chuàng)建保存所述已顯示標(biāo)注的集合,在繪制每個(gè)所述待顯示標(biāo)注時(shí),將所述待顯示標(biāo)注的第二占用范圍保存在所述集合中;可創(chuàng)建保存所述已顯示標(biāo)注的集合,A= {Rl, R2,R3…Rn},其中RfRn為標(biāo)注fn對(duì)應(yīng)的占用范圍;在繪制每個(gè)所述待顯示標(biāo)注時(shí),將所述待顯示標(biāo)注的第二占用范圍保存在所述集合中,可方便后續(xù)將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;在這里,待顯示與已顯示是相對(duì)而言,在對(duì)當(dāng)前的待顯示標(biāo)注進(jìn)行比較判斷時(shí),得出該待顯示與所有已顯示標(biāo)注都不相交,則可對(duì)該待顯示標(biāo)注進(jìn)行繪制,同時(shí)將該待顯示標(biāo)注的占用范圍保存在集合中,完成一次繪制處理;在繪制后,進(jìn)行下一個(gè)待顯示標(biāo)注的繪制處理,對(duì)下一個(gè)待顯示標(biāo)注而言,上述的前一個(gè)待顯示標(biāo)注則為已顯示標(biāo)注。所述將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較的步驟可具體為
遍歷所述集合,將所述待顯示標(biāo)注的第二占用范圍依次與所述集合中每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;通過遍歷所述集合,能將待顯示標(biāo)注的第二占用范圍依次與集合中存儲(chǔ)的每個(gè)已顯示標(biāo)注進(jìn)行比較,比較過程更加快速。對(duì)應(yīng)地,如圖4所示,本發(fā)明還提供一種地圖標(biāo)注的繪制處理系統(tǒng),包括獲取模塊41、獲取計(jì)算模塊42、比較模塊43和繪制模塊44 ;所述獲取模塊41用于獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍;在繪制待顯示標(biāo)注前,可先獲取當(dāng)前顯示的地圖上已繪制顯示的所有標(biāo)注,以及每個(gè)已顯示標(biāo)注的占用范圍;若當(dāng)前顯示的地圖包含的標(biāo)注過多,大量的標(biāo)注會(huì)互相重疊;在本模塊中首先獲取已在地圖上繪制顯示的標(biāo)注,獲取其占用范圍;在當(dāng)前顯示的地圖上,繪制某個(gè)地理元素的文字標(biāo)注需占用當(dāng)前地圖表面的一定區(qū)域,該第一占用范圍即為每個(gè)所述已顯示標(biāo)注在地圖表面上占用的第一矩形區(qū)域;而后續(xù)待顯示標(biāo)注的占用范圍若與已繪制的標(biāo)注相交,則不進(jìn)行繪制。所述獲取計(jì)算模塊42用于獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;獲取待顯示標(biāo)注,根據(jù)該標(biāo)注的繪制信息計(jì)算該標(biāo)注若繪制顯示需占用的范圍;其中,該第二占用范圍為在所述地圖表面繪制所述待顯示標(biāo)注所需要的第二矩形區(qū)域;在一較佳實(shí)施例中,所述獲取計(jì)算模塊42具體用于獲取所述待顯示標(biāo)注的內(nèi)容、坐標(biāo)、字體和字號(hào),根據(jù)所述內(nèi)容、坐標(biāo)、字體和字號(hào),通過測量字符串函數(shù)得到所述第二矩形區(qū)域。。如圖2所示,該實(shí)施例中示出了一待顯示標(biāo)注的占用范圍的示意圖;該標(biāo)注D,標(biāo)注內(nèi)容為“廣州市”,在地圖中的像素坐標(biāo)為(300,400 ),該標(biāo)注的字體為宋體,在當(dāng)前的縮放比例下,該標(biāo)注的字號(hào)為16號(hào),根據(jù)標(biāo)注D的這三種繪制信息通過測量字符串函數(shù)即可得出其占用范圍,該占用范圍為繪制該標(biāo)注時(shí)在地圖上需占用的一矩形區(qū)域;在本實(shí)施例中,可采用測量字符串函數(shù),即Graphic的MeasureString方法,該Graphics的MeasureString方法,只要指定了字體和字符串后,用這個(gè)方法就能獲得一個(gè)矩形的區(qū)域,這個(gè)區(qū)域是Graphics對(duì)象用DrawString方法在空間表面繪制字符串時(shí)所要的區(qū)域;該區(qū)域只需用同一條對(duì)角線兩個(gè)頂點(diǎn)的坐標(biāo)即能表示,在本實(shí)施例中用該方法得到標(biāo)注D的占用范圍為{280,390,320,410},這里(280,390)為該矩形區(qū)域左下角0,的坐標(biāo),(320,410)該矩形區(qū)域右上角D”的坐標(biāo)。所述比較模塊43用于將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;在一較佳實(shí)施例中,所述比較模塊具體用于獲取所述第二矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ;以及獲取所述第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3, y3)和(x4, y4),其中x3小于x4, y3大于y4 ;若xl大于x4,或者x2小于x3,或者yl小于y4,或者y2大于y3,則判斷所述待顯示標(biāo)注與所述已顯示標(biāo)注不相交;在獲得了待顯示標(biāo)注的第二占用范圍后,與當(dāng)前每個(gè)已顯示標(biāo)注的第一占用范圍進(jìn)行對(duì)比;
如圖3所示,設(shè)待顯示標(biāo)注的第二矩形區(qū)域?yàn)镽x,獲取Rx矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ;即其中(xl,yl)為Rx中矩形左上角的坐標(biāo),(x2,y2)為Rx中矩形右下角的坐標(biāo);設(shè)已顯示標(biāo)注Rl的第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3, y3)和(x4, y4),其中x3小于x4, y3大于y4 ;比較Rx與Rl中的坐標(biāo),只要當(dāng)xl>x4或x2〈x3或yl〈y4或y2>y3這四種情況有一種成立,即可判斷Rx與Rl沒有相交;接下來繼續(xù)將Rx與其他已繪制的標(biāo)注R2 Rn進(jìn)行對(duì)比;通過矩形區(qū)域中兩個(gè)頂點(diǎn)坐標(biāo)的比較,即能快速地判斷得出比較結(jié)果。所述繪制模塊44用于若所述待顯示標(biāo)注與每個(gè)所述已顯示標(biāo)注的第二占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注。若待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則可繪制顯示所述待顯示標(biāo)注;因此與已繪制的 標(biāo)注有相交重疊的標(biāo)注則不被繪制,地圖上繪制的標(biāo)注就不會(huì)出現(xiàn)大量標(biāo)注互相壓蓋的情況,地圖的可視化效果更好更美觀;標(biāo)注不會(huì)壓蓋地圖數(shù)據(jù),方便進(jìn)行地圖操作;標(biāo)注的顯示數(shù)量和詳細(xì)程度會(huì)隨著地圖縮放比例的改變而改變,因此能滿足正常地圖顯示查看的需要;同時(shí)減少標(biāo)注的繪制數(shù)量,能極大地加快地圖的顯示速度。在一較佳實(shí)施例中,還包括創(chuàng)建保存模塊,所述創(chuàng)建保存模塊用于創(chuàng)建保存所述已顯示標(biāo)注的集合,在繪制每個(gè)所述待顯示標(biāo)注時(shí),將所述待顯示標(biāo)注的第二占用范圍保存在所述集合中;可創(chuàng)建保存所述已顯示標(biāo)注的集合,A= {Rl, R2,R3…Rn},其中RfRn為標(biāo)注fn對(duì)應(yīng)的占用范圍;在繪制每個(gè)所述待顯示標(biāo)注時(shí),將所述待顯示標(biāo)注的第二占用范圍保存在所述集合中,可方便后續(xù)將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較。所述比較模塊43具體用于遍歷所述集合,將所述待顯示標(biāo)注的第二占用范圍依次與所述集合中每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;通過遍歷所述集合,能將待顯示標(biāo)注的第二占用范圍依次與集合中存儲(chǔ)的每個(gè)已顯示標(biāo)注進(jìn)行比較,比較過程更加快速。本發(fā)明地圖標(biāo)注的繪制處理方法和系統(tǒng),將待顯示標(biāo)注與所有已顯示標(biāo)注的占用范圍進(jìn)行比較,只有當(dāng)待顯示標(biāo)注與每個(gè)已顯示標(biāo)注都沒有相交時(shí),才對(duì)該待顯示標(biāo)注進(jìn)行繪制顯示,已繪制的標(biāo)注有相交重疊的標(biāo)注則不被繪制,地圖上繪制的標(biāo)注就不會(huì)出現(xiàn)大量標(biāo)注互相壓蓋的情況,地圖的可視化效果更好更美觀;標(biāo)注不會(huì)壓蓋地圖數(shù)據(jù),方便進(jìn)行地圖操作;同時(shí)減少標(biāo)注的繪制數(shù)量,能極大地加快地圖的顯示速度。以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)本發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1.一種地圖標(biāo)注的繪制處理方法,其特征在于,包括如下步驟 獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍; 獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍; 將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較; 若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注。
2.根據(jù)權(quán)利要求1所述的地圖標(biāo)注的繪制處理方法,其特征在于,還包括以下步驟 創(chuàng)建保存所述已顯示標(biāo)注的集合,在繪制每個(gè)所述待顯示標(biāo)注時(shí),將每個(gè)所述待顯示標(biāo)注的第二占用范圍保存在所述集合中。
3.根據(jù)權(quán)利要求2所述的地圖標(biāo)注的繪制處理方法,其特征在于,所述將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較的步驟具體為 遍歷所述集合,將所述待顯示標(biāo)注的第二占用范圍依次與所述集合中每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較。
4.根據(jù)權(quán)利要求1所述的地圖標(biāo)注的繪制處理方法,其特征在于, 所述第一占用范圍為每個(gè)所述已顯示標(biāo)注在地圖表面上占用的第一矩形區(qū)域; 所述第二占用范圍為在所述地圖表面繪制所述待顯示標(biāo)注所需要的第二矩形區(qū)域; 所述獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍的步驟具體為 獲取所述待顯示標(biāo)注的內(nèi)容、坐標(biāo)、字體和字號(hào),根據(jù)所述內(nèi)容、坐標(biāo)、字體和字號(hào),通過測量字符串函數(shù)得到所述第二矩形區(qū)域。
5.根據(jù)權(quán)利要求4所述的地圖標(biāo)注的繪制處理方法,其特征在于,所述將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較的步驟具體為 獲取所述第二矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ; 獲取所述第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3,y3)和(x4,y4),其中x3小于x4,y3大于y4 ; 若xl大于x4,或者x2小于x3,或者yl小于y4,或者y2大于y3,則判斷所述待顯示標(biāo)注與所述已顯示標(biāo)注不相交。
6.一種地圖標(biāo)注的繪制處理系統(tǒng),其特征在于,包括獲取模塊、獲取計(jì)算模塊、比較模塊和繪制模塊; 所述獲取模塊用于獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍; 所述獲取計(jì)算模塊用于獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;所述比較模塊用于將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較; 所述繪制模塊用于若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注。
7.根據(jù)權(quán)利要求6所述的地圖標(biāo)注的繪制處理系統(tǒng),其特征在于,還包括創(chuàng)建保存模塊,用于創(chuàng)建保存所述已顯示標(biāo)注的集合,在繪制每個(gè)所述待顯示標(biāo)注時(shí),將每個(gè)所述待顯示標(biāo)注的第二占用范圍保存在所述集合中。
8.根據(jù)權(quán)利要求7所述的地圖標(biāo)注的繪制處理系統(tǒng),其特征在于,所述比較模塊具體用于遍歷所述創(chuàng)建保存模塊中的所述集合,將所述待顯示標(biāo)注的第二占用范圍依次與所述集合中每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較。
9.根據(jù)權(quán)利要求6所述的地圖標(biāo)注的繪制處理系統(tǒng),其特征在于,所述獲取模塊中的第一占用范圍為每個(gè)所述已顯示標(biāo)注在地圖表面上占用的第一矩形區(qū)域; 所述獲取計(jì)算模塊中的第二占用范圍為在所述地圖表面繪制所述待顯示標(biāo)注所需要的第二矩形區(qū)域; 所述獲取計(jì)算模塊具體用于獲取所述待顯示標(biāo)注的內(nèi)容、坐標(biāo)、字體和字號(hào),根據(jù)所述內(nèi)容、坐標(biāo)、字體和字號(hào),通過測量字符串函數(shù)得到所述第二矩形區(qū)域。
10.根據(jù)權(quán)利要求9所述的地圖標(biāo)注的繪制處理方法,其特征在于, 所述比較模塊具體用于獲取所述第二矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(xl,yl)和(x2,y2),其中xl小于x2,yl大于y2 ;以及獲取所述第一矩形區(qū)域同一條對(duì)角線上兩個(gè)頂點(diǎn)的坐標(biāo)(x3, y3)和(x4, y4),其中x3小于x4, y3大于y4 ; 若xl大于x4,或者x2小于x3,或者yl小于y4,或者y2大于y3,則判斷所述待顯示標(biāo)注與所述已顯示標(biāo)注不相交。
全文摘要
本發(fā)明提供一種地圖標(biāo)注的繪制處理方法,包括如下步驟獲取當(dāng)前顯示的地圖上的每個(gè)已顯示標(biāo)注的第一占用范圍;獲取待顯示標(biāo)注,計(jì)算所述待顯示標(biāo)注的第二占用范圍;將所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍進(jìn)行比較;若所述待顯示標(biāo)注的第二占用范圍與每個(gè)所述已顯示標(biāo)注的第一占用范圍都沒有相交,則繪制顯示所述待顯示標(biāo)注。對(duì)應(yīng)地本發(fā)明還提供一種地圖標(biāo)注的繪制處理系統(tǒng)。本發(fā)明能加快地圖標(biāo)注的繪制速度,并且標(biāo)注不會(huì)互相重疊,不會(huì)影響地圖操作。
文檔編號(hào)G09B29/10GK103021262SQ20121051790
公開日2013年4月3日 申請日期2012年12月5日 優(yōu)先權(quán)日2012年12月5日
發(fā)明者紀(jì)順玉 申請人:廣東威創(chuàng)視訊科技股份有限公司