一種地圖標(biāo)注方法和裝置制造方法【專利摘要】本發(fā)明提供了一種地圖標(biāo)注方法和裝置,以解決現(xiàn)有地圖支持興趣點(diǎn)較少的問(wèn)題。所述的方法包括:對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;將所述第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中。從而在瀏覽器展示頁(yè)面時(shí)可以基于網(wǎng)頁(yè)標(biāo)簽元素通過(guò)腳本進(jìn)行圖片下載,進(jìn)而進(jìn)行渲染重排,本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響。【專利說(shuō)明】一種地圖標(biāo)注方法和裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及網(wǎng)頁(yè)【
技術(shù)領(lǐng)域:
】,特別是涉及一種地圖標(biāo)注方法和裝置?!?br>背景技術(shù):
】[0002]主流Javascript地圖的應(yīng)用程序編程接口(ApplicationProgrammingInterface,API)在標(biāo)注地圖興趣點(diǎn)時(shí),首先創(chuàng)建網(wǎng)頁(yè)中DIV元素的文檔對(duì)象模型(DocumentObjectModel,D0M)節(jié)點(diǎn)及嵌套的MG元素的D0M節(jié)點(diǎn),其次修改MG的SRC屬性來(lái)鏈接預(yù)先制作的圖標(biāo)圖片,如可移植網(wǎng)絡(luò)圖形格式(PortableNetworkGraphicFormat,PNG)或圖像互換格式(GraphicsInterchangeFormat,GIF)的圖片,然后改變DIV的STYPE屬性來(lái)定位屏幕位置,最后將DIV元素的D0M節(jié)點(diǎn)添加到地圖主D0M節(jié)點(diǎn)中,這個(gè)過(guò)程即完成一次地圖興趣點(diǎn)標(biāo)注。[0003]但是,瀏覽器解析D0M的性能與D0M節(jié)點(diǎn)數(shù)和鏈接圖片數(shù)有很大關(guān)系,一般情況下,D0M節(jié)點(diǎn)數(shù)和鏈接圖片越少,瀏覽器解析和重繪HTM1頁(yè)面越快。[0004]由于基于Javascript地圖API構(gòu)建的HTML地圖頁(yè)面都是通過(guò)拼接不同的D0M節(jié)點(diǎn)而組成。其在進(jìn)行地圖展示時(shí),需要先依據(jù)D0M節(jié)點(diǎn)請(qǐng)求下載圖片,然后對(duì)頁(yè)面進(jìn)行渲染、排版等處理后再進(jìn)行展示。因此在地圖執(zhí)行平移等動(dòng)作時(shí),地圖主D0M節(jié)點(diǎn)下的所有子D0M節(jié)點(diǎn)的屬性都會(huì)修改,而瀏覽器就需要重新下載圖片,然后重新渲染、重排并重繪,因此當(dāng)興趣點(diǎn)較多時(shí),若執(zhí)行平移等動(dòng)作,地圖展示比較緩慢,甚至無(wú)法展示?!?br/>發(fā)明內(nèi)容】[0005]本發(fā)明提供了一種地圖標(biāo)注方法和裝置,以解決現(xiàn)有地圖支持興趣點(diǎn)較少的問(wèn)題。[0006]為了解決上述問(wèn)題,本發(fā)明公開了一種地圖標(biāo)注方法,包括:[0007]對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;[0008]當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;[0009]將所述第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中。[0010]本發(fā)明一個(gè)可選實(shí)施例中,所述依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素之后,還包括:當(dāng)所述元素特性為第二元素時(shí),依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,其中,所述第二元素采用的是可擴(kuò)展標(biāo)記語(yǔ)言文檔腳本;將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。[0011]本發(fā)明一個(gè)可選實(shí)施例中,依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素之前,還包括:檢測(cè)所述第二元素是否已創(chuàng)建;若所述第二元素未創(chuàng)建,則創(chuàng)建所述第二元素;若所述第二元素已創(chuàng)建,則獲取第二元素對(duì)象。[0012]本發(fā)明一個(gè)可選實(shí)施例中,若為新創(chuàng)建的第二元素,則所述將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)之后,還包括:將所述第二元素的節(jié)點(diǎn)添加到所述地圖頁(yè)面的主節(jié)點(diǎn)中。[0013]本發(fā)明一個(gè)可選實(shí)施例中,所述第二元素為可縮放矢量圖形SVG元素,或矢量可標(biāo)記語(yǔ)言VML元素。[0014]本發(fā)明還公開了一種地圖標(biāo)注裝置,包括:[0015]檢測(cè)并選擇模塊,用于對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;[0016]繪制模塊,用于當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;[0017]添加模塊,用于將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中。[0018]本發(fā)明一個(gè)可選實(shí)施例中,還包括:獲取模塊,用于當(dāng)所述元素特性為第二元素時(shí),依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,其中,所述第二元素采用的是可擴(kuò)展標(biāo)記語(yǔ)言文檔腳本;所述添加模塊,還用于將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。[0019]本發(fā)明一個(gè)可選實(shí)施例中,還包括:創(chuàng)建檢測(cè)模塊,用于檢測(cè)所述第二元素是否以創(chuàng)建;執(zhí)行模塊,用于當(dāng)所述第二元素未創(chuàng)建時(shí),創(chuàng)建所述第二元素;當(dāng)所述第二元素已創(chuàng)建時(shí),獲取第二元素對(duì)象。[0020]本發(fā)明一個(gè)可選實(shí)施例中,所述添加模塊,還用于將所述第二元素的節(jié)點(diǎn)添加到所述地圖的主節(jié)點(diǎn)中。[0021]本發(fā)明一個(gè)可選實(shí)施例中,所述第二元素為可縮放矢量圖形SVG元素,或矢量可標(biāo)記語(yǔ)言VML元素。[0022]與現(xiàn)有技術(shù)相比,本發(fā)明包括以下優(yōu)點(diǎn):[0023]能夠?qū)g覽器的特性進(jìn)行檢測(cè)并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片。從而當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),并將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中,其中所述第一元素采用的是JavaScript腳本。從而在瀏覽器展示頁(yè)面時(shí)可以基于網(wǎng)頁(yè)標(biāo)簽元素通過(guò)腳本進(jìn)行圖片下載,進(jìn)而進(jìn)行渲染重排,本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響?!緦@綀D】【附圖說(shuō)明】[0024]圖1是本發(fā)明實(shí)施例一提供的地圖標(biāo)注方法流程圖;[0025]圖2是本發(fā)明實(shí)施例二提供的地圖標(biāo)注方法流程圖;[0026]圖3A、圖3B、圖3C、圖3D和圖3E是本發(fā)明實(shí)施例三提供的地圖標(biāo)注方法可選流程圖;[0027]圖4是本發(fā)明實(shí)施例四提供的地圖標(biāo)注裝置結(jié)構(gòu)圖;[0028]圖5是本發(fā)明實(shí)施例四提供的地圖標(biāo)注裝置可選結(jié)構(gòu)圖?!揪唧w實(shí)施方式】[0029]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。[0030]本發(fā)明實(shí)施例提供一種地圖標(biāo)注方法,能夠?qū)g覽器的特性進(jìn)行檢測(cè)并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片。從而當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),并將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中,其中所述第一元素采用的是JavaScript腳本。從而在瀏覽器展示頁(yè)面時(shí)可以基于網(wǎng)頁(yè)標(biāo)簽元素通過(guò)腳本進(jìn)行圖片下載,進(jìn)而進(jìn)行渲染重排,本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響。[0031]實(shí)施例一[0032]參照?qǐng)D1,給出了本發(fā)明實(shí)施例一提供的地圖標(biāo)注方法流程圖。[0033]步驟101,對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素。[0034]本實(shí)施例中,基于超文本標(biāo)記語(yǔ)言5(HyperTextMark-upLanguage5,HTML5)的特性構(gòu)建網(wǎng)頁(yè)標(biāo)簽元素,從而增加網(wǎng)頁(yè)中能夠標(biāo)注的興趣點(diǎn)的數(shù)量。[0035]由于并非所有的瀏覽器都支持HTML5技術(shù),因此首先要對(duì)瀏覽器的特性進(jìn)行檢測(cè),如檢測(cè)該瀏覽器是否支持HTML5技術(shù),支持支持HTML5中的哪些技術(shù)。從而依據(jù)該瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素。[0036]本發(fā)明實(shí)施例中,網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片,如標(biāo)簽〈Canvas〉或<SVG>等。[0037]步驟102,當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo)。[0038]當(dāng)檢測(cè)到該瀏覽器的特性支持第一元素時(shí),在該瀏覽器中選擇第一元素,從而采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本。[0039]本發(fā)明實(shí)施例中,第一元素可以為〈Canvas〉網(wǎng)頁(yè)標(biāo)簽。Canvas對(duì)象表示一個(gè)HTML畫布元素〈canvas〉。它沒有自己的行為,但是定義了一個(gè)API支持腳本化客戶端繪圖操作。[0040]步驟103,將所述第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中。[0041]然后將第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中,即將〈canvas〉節(jié)點(diǎn)添加到地圖主D0M節(jié)點(diǎn),完成標(biāo)注。從而瀏覽器在展示地圖頁(yè)面對(duì)D0M節(jié)點(diǎn)進(jìn)行解析時(shí),可以依據(jù)該〈canvas〉節(jié)點(diǎn)通過(guò)API讀取JavaScript腳本,獲取地圖的相關(guān)圖片。從而本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響。[0042]綜上所述,能夠?qū)g覽器的特性進(jìn)行檢測(cè)并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片。從而當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),并將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中,其中所述第一元素采用的是JavaScript腳本。從而在瀏覽器展示頁(yè)面時(shí)可以基于網(wǎng)頁(yè)標(biāo)簽元素通過(guò)腳本進(jìn)行圖片下載,進(jìn)而進(jìn)行渲染重排,本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響。[0043]實(shí)施例二[0044]在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例進(jìn)一步論述地圖標(biāo)注方法。[0045]基于HTML5的特性,在網(wǎng)頁(yè)中不但可以加載第一元素,還可以加載第二元素,第二元素時(shí)基于矢量圖的。其中第二元素為可縮放矢量圖形(ScalableVectorGraphics,SVG)元素,或矢量可標(biāo)記語(yǔ)言(TheVectorMarkupLanguage,VML)元素。[0046]其中,采用〈canvas〉標(biāo)記和采用SVG元素或VML元素標(biāo)記時(shí),一個(gè)不同之處是,〈canvas〉有一個(gè)基于JavaScript的繪圖API,而SVG和VML使用一個(gè)XML文檔來(lái)描述繪圖,而這兩種方式在功能上是等同的。[0047]其中,SVG支持D0M,因而SVG文檔可以通過(guò)一致的接口規(guī)范與外界的程序打交道。SVG以及SVG中的物件元素完全可以通過(guò)腳本語(yǔ)言接受外部事件的驅(qū)動(dòng),例如鼠標(biāo)動(dòng)作,實(shí)現(xiàn)自身或?qū)ζ渌锛D像的控制等。[0048]VML使用簡(jiǎn)單的文本來(lái)表示圖像,因此可以采用很少的字節(jié)來(lái)表示比較復(fù)雜的圖像。VML與HTML兼容,通過(guò)在HTML中聲明VML命名空間并聲明處理函數(shù),就可以和其他HTML元素一樣使用VML元素,在客戶端瀏覽器顯示圖像。[0049]參照?qǐng)D2,給出了本發(fā)明實(shí)施例二提供的地圖標(biāo)注方法流程圖。[0050]步驟201,對(duì)瀏覽器的特性進(jìn)行檢測(cè)。[0051]步驟202,依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素。[0052]若瀏覽器的特性支持第一元素,則執(zhí)行步驟203;若瀏覽器的特性支持第二元素,則執(zhí)行步驟205。[0053]步驟203,采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo)。[0054]步驟204,將所述第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中。[0055]步驟205,檢測(cè)所述第二元素是否已創(chuàng)建。[0056]當(dāng)瀏覽器不支持第一元素但支持第二元素時(shí),可以檢測(cè)第二元素是否已經(jīng)創(chuàng)建。[0057]若否,即第二元素未創(chuàng)建,則執(zhí)行步驟206;若是,即第二元素已創(chuàng)建,則不需要重新創(chuàng)建第二元素,執(zhí)行步驟210。[0058]步驟206,創(chuàng)建第二元素。[0059]步驟207,依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素。[0060]步驟208,將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。[0061]步驟209,將所述第二元素的節(jié)點(diǎn)添加到所述地圖的主節(jié)點(diǎn)中。[0062]例如SVG代碼以<SVG>元素開始,包括開啟標(biāo)簽<SVG>和關(guān)閉標(biāo)簽</svg>,這是<SVG>元素的根元素。并且,<SVG>元素包括屬性很多,如width和height屬性可設(shè)置此SVG文檔的寬度和高度。version屬性可定義所使用的SVG版本,xmlns屬性可定義SVG命名空間等。[0063]在創(chuàng)建完<SVG>元素的根元素后,可以依據(jù)其對(duì)應(yīng)的<SVG>圖標(biāo)繪制模板獲取<SVG>子元素,然后將<SVG>子元素添加到<SVG>元素對(duì)象的子節(jié)點(diǎn)上。由于<SVG>元素是新創(chuàng)建的,因此還要就將<SVG>元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)上,從而完成基于<SVG>元素的地圖標(biāo)注。[0064]又如,<VML>元素的標(biāo)記可以定義DHTML大部分屬性和事件,如id、name、title、onmouseover等。同樣在創(chuàng)建完<VML>元素后,可以依據(jù)其對(duì)應(yīng)的<VML>圖標(biāo)繪制模板獲取<VML>子元素,并將<VML>子元素添加到<VML>元素對(duì)象的子節(jié)點(diǎn)上,而<VML>元素的節(jié)點(diǎn)也要添加到地圖頁(yè)面的主節(jié)點(diǎn)上,從而完成基于<VML>元素的地圖標(biāo)注。[0065]步驟210,獲取第二元素對(duì)象。[0066]步驟211,依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素。[0067]步驟212,將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。[0068]若第二元素已創(chuàng)建,則不需要重新創(chuàng)建第二元素,而是直接獲取第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,并將子元素添加到第二元素對(duì)象的子節(jié)點(diǎn)中。由于在創(chuàng)建第二元素時(shí)已經(jīng)將第二元素的節(jié)點(diǎn)添加到所述地圖的主節(jié)點(diǎn)中,此時(shí)無(wú)需重新添加。[0069]綜上,采用基于矢量圖的第二元素對(duì)地圖頁(yè)面進(jìn)行標(biāo)注時(shí),其中SVG元素和VML元素均基于矢量圖,而矢量圖像格式,與傳統(tǒng)的電子地圖所采用位圖圖像格式相比具有很多優(yōu)點(diǎn)。[0070]矢量圖像用點(diǎn)和線來(lái)描述物體,因此文件會(huì)比較小,同時(shí)也能提供高清晰的畫面,適合于直接打印或輸出。而位圖圖像的存儲(chǔ)單位是圖像上每一點(diǎn)的像素值,因此一般的圖像文件都很大,會(huì)占用大量的網(wǎng)絡(luò)帶寬。例如SVG是一種矢量圖形格式,圖像互換格式(GraphicsInterchangeFormat,GIF)、聯(lián)合圖像專家組(JointPhotographicExpertsGroup,JPEG)是光柵文件格式。[0071]因此,矢量圖像格式與位圖圖像格式相比至少具有如下優(yōu)點(diǎn):[0072]1.任意放縮。[0073]用戶可以任意縮放圖像顯示,而不會(huì)破壞圖像的清晰度、細(xì)節(jié)等。[0074]2.文本獨(dú)立。[0075]例如,SVG圖像中的文字獨(dú)立于圖像,文字保留可編輯和可搜尋的狀態(tài)。也不會(huì)再有字體的限制,用戶系統(tǒng)即使沒有安裝某一字體,也會(huì)看到和他們制作時(shí)完全相同的畫面。[0076]3.較小文件。[0077]例如SVG文件比那些GIF和JPEG格式的文件要小很多,因而下載也很快。[0078]實(shí)施例三[0079]在上述實(shí)施例的基礎(chǔ)上,本實(shí)施例進(jìn)一步論述地圖標(biāo)注的一種可選方法。[0080]參照?qǐng)D3A、圖3B、圖3C、圖3D和圖3E給出了本發(fā)明實(shí)施例三提供的地圖標(biāo)注方法可選流程圖。[0081]如圖3A所示,主流程包括步驟301到步驟308。[0082]步驟301,瀏覽器特性判斷。[0083]步驟302,檢測(cè)瀏覽器是否支持〈canvas〉特性。[0084]若是,即支持〈canvas〉特性,則執(zhí)行步驟303;若否,即不支持〈canvas〉特性,貝丨J執(zhí)行步驟304。[0085]步驟303,基于〈canvas〉元素進(jìn)行標(biāo)注。[0086]步驟304,檢測(cè)瀏覽器是否支持<SVG>特性。[0087]若是,即支持<SVG>特性,則執(zhí)行步驟305;若否,即不支持<SVG>特性,則執(zhí)行步驟306。[0088]步驟305,基于<SVG>元素進(jìn)行標(biāo)注。[0089]步驟306,檢測(cè)瀏覽器是否支持<VML>特性。[0090]若是,即支持<VML>特性,則執(zhí)行步驟307;若否,即不支持<VML>特性,則執(zhí)行步驟308。[0091]步驟307,基于<VML>元素進(jìn)行標(biāo)注。[0092]步驟308,基于<DIV>和<MG>元素進(jìn)行標(biāo)注。[0093]如圖3B所示,步驟303基于〈canvas〉元素進(jìn)行標(biāo)注,具體包括子步驟3031到步驟3033。[0094]子步驟3031,創(chuàng)建<canvas>兀素。[0095]子步驟3032,選擇〈canvas〉圖標(biāo)創(chuàng)建模板繪制圖標(biāo)。[0096]子步驟3033,將〈canvas〉節(jié)點(diǎn)添加到地圖主D0M節(jié)點(diǎn)。[0097]如圖3C所示,,上述步驟305基于<SVG>元素進(jìn)行標(biāo)注,具體包括如下子步驟。[0098]子步驟3051,檢查<SVG>元素的唯一性。[0099]子步驟3052,檢測(cè)<SVG>元素是否已創(chuàng)建。[0100]若是,即<SVG>元素已創(chuàng)建,則執(zhí)行子步驟3053;若否,即<SVG>元素未創(chuàng)建,則執(zhí)行子步驟3056。[0101]子步驟3053,獲取<SVG>元素對(duì)象。[0102]子步驟3054,選擇<SVG>圖標(biāo)繪制模板獲取子元素。[0103]子步驟3055,將子元素添加到<SVG>元素對(duì)象子節(jié)點(diǎn)。[0104]子步驟3056,創(chuàng)建<SVG>元素。[0105]子步驟3057,選擇<SVG>圖標(biāo)繪制模板獲取子元素。[0106]子步驟3058,將子元素添加到<SVG>元素對(duì)象子節(jié)點(diǎn)。[0107]子步驟3059,將<SVG>節(jié)點(diǎn)添加到地圖頁(yè)面主D0M節(jié)點(diǎn)。[0108]如圖3D所示,步驟307基于<VML>元素進(jìn)行標(biāo)注,具體包括如下子步驟:。[0109]子步驟3071,檢查<VML>元素的唯一性。[0110]子步驟3072,檢測(cè)<VML>元素是否已創(chuàng)建。[0111]若是,即〈VML元素已創(chuàng)建,則執(zhí)行子步驟3073;若否,即<VML>元素未創(chuàng)建,則執(zhí)行子步驟3076。[0112]子步驟3073,獲取<VML>元素對(duì)象。[0113]子步驟3074,選擇<VML>圖標(biāo)繪制模板獲取子元素。[0114]子步驟3075,將子元素添加到<VML>元素對(duì)象子節(jié)點(diǎn)。[0115]子步驟3076,創(chuàng)建<VML>元素。[0116]子步驟3077,選擇<VML>圖標(biāo)繪制模板獲取子元素.[0117]子步驟3078,將子元素添加到<VML>元素對(duì)象子節(jié)點(diǎn)。[0118]子步驟3079,將<VML>節(jié)點(diǎn)添加到地圖頁(yè)面主D0M節(jié)點(diǎn)。[0119]如圖3E所示,上述步驟308基于<DIV>和<MG>元素進(jìn)行標(biāo)注,包括如下子步驟:[0120]子步驟3081,創(chuàng)建<DIV>和<MG>元素。[0121]子步驟3082,設(shè)置<MG>元素的SRC屬性鏈接圖標(biāo)圖片。[0122]子步驟3083,<MG>元素添加到<DIV>子節(jié)點(diǎn)。[0123]子步驟3084,將<DIV>節(jié)點(diǎn)添加到地圖頁(yè)面主D0M節(jié)點(diǎn)。[0124]實(shí)施例四[0125]在上述實(shí)施例的基礎(chǔ)上,本發(fā)明還提供了一種地圖標(biāo)注裝置。[0126]參照?qǐng)D4,給出了本發(fā)明實(shí)施例四提供的地圖標(biāo)注裝置結(jié)構(gòu)圖。[0127]該地圖標(biāo)注裝置包括:檢測(cè)并選擇模塊401、繪制模塊402和添加模塊403。[0128]其中,檢測(cè)并選擇模塊401,用于對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;繪制模塊402,用于當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;添加模塊403,用于將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中。[0129]綜上所述,能夠?qū)g覽器的特性進(jìn)行檢測(cè)并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片。從而當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),并將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中,其中所述第一元素采用的是JavaScript腳本。從而在瀏覽器展示頁(yè)面時(shí)可以基于網(wǎng)頁(yè)標(biāo)簽元素通過(guò)腳本進(jìn)行圖片下載,進(jìn)而進(jìn)行渲染重排,本實(shí)施例通過(guò)將HTML5新特性封裝成Javascript地圖API,在調(diào)用API標(biāo)注興趣點(diǎn)數(shù)可突破2000數(shù),且對(duì)地圖操作無(wú)較大影響。[0130]參照?qǐng)D5,給出了本發(fā)明實(shí)施例四提供的地圖標(biāo)注裝置可選結(jié)構(gòu)圖。[0131]本發(fā)明一個(gè)可選實(shí)施例中,該地圖標(biāo)注裝置還包括:獲取模塊404,用于當(dāng)所述元素特性為第二元素時(shí),依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,其中,所述第二元素采用的是可擴(kuò)展標(biāo)記語(yǔ)言文檔腳本;所述添加模塊403,還用于將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。[0132]本發(fā)明一個(gè)可選實(shí)施例中,該地圖標(biāo)注裝置還包括:創(chuàng)建檢測(cè)模塊405,用于檢測(cè)所述第二元素是否以創(chuàng)建;執(zhí)行模塊406,用于當(dāng)所述第二元素未創(chuàng)建時(shí),創(chuàng)建所述第二元素;當(dāng)所述第二元素已創(chuàng)建時(shí),獲取第二元素對(duì)象。[0133]本發(fā)明一個(gè)可選實(shí)施例中,所述添加模塊403還用于將所述第二元素的節(jié)點(diǎn)添加到所述地圖的主節(jié)點(diǎn)中。[0134]本發(fā)明一個(gè)可選實(shí)施例中,所述第二元素為可縮放矢量圖形SVG元素,或矢量可標(biāo)記語(yǔ)言VML元素。[0135]對(duì)于系統(tǒng)實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說(shuō)明即可。[0136]本說(shuō)明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。[0137]本發(fā)明可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本發(fā)明,在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。[0138]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)"包括"、"包含"或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、商品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、商品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句"包括一個(gè)……"限定的要素,并不排除在包括所述要素的過(guò)程、方法、商品或者設(shè)備中還存在另外的相同要素。[0139]以上對(duì)本發(fā)明所提供的一種地圖標(biāo)注方法和裝置,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制?!緳?quán)利要求】1.一種地圖標(biāo)注方法,其特征在于,包括:對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;將所述第一元素的節(jié)點(diǎn)添加到地圖頁(yè)面的主節(jié)點(diǎn)中。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素之后,還包括:當(dāng)所述元素特性為第二元素時(shí),依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,其中,所述第二元素采用的是可擴(kuò)展標(biāo)記語(yǔ)言文檔腳本;將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素之前,還包括:檢測(cè)所述第二元素是否已創(chuàng)建;若所述第二元素未創(chuàng)建,則創(chuàng)建所述第二元素;若所述第二元素已創(chuàng)建,則獲取第二元素對(duì)象。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,若為新創(chuàng)建的第二元素,則所述將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)之后,還包括:將所述第二元素的節(jié)點(diǎn)添加到所述地圖頁(yè)面的主節(jié)點(diǎn)中。5.根據(jù)權(quán)利要求2至4任一所述的方法,其特征在于,所述第二元素為可縮放矢量圖形SVG元素,或矢量可標(biāo)記語(yǔ)言VML元素。6.-種地圖標(biāo)注裝置,其特征在于,包括:檢測(cè)并選擇模塊,用于對(duì)瀏覽器的特性進(jìn)行檢測(cè),并依據(jù)所述瀏覽器的特性選擇網(wǎng)頁(yè)標(biāo)簽元素,其中所述網(wǎng)頁(yè)標(biāo)簽元素采用腳本描述瀏覽器中展示的圖片;繪制模塊,用于當(dāng)所述網(wǎng)頁(yè)標(biāo)簽元素為第一元素時(shí),采用所述第一元素對(duì)應(yīng)第一圖標(biāo)繪制模板繪制圖標(biāo),其中,所述第一元素采用的是JavaScript腳本;添加模塊,用于將所述第一元素的節(jié)點(diǎn)添加到地圖的主節(jié)點(diǎn)中。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括:獲取模塊,用于當(dāng)所述元素特性為第二元素時(shí),依據(jù)所述第二元素對(duì)應(yīng)第二圖標(biāo)繪制模板獲取子元素,其中,所述第二元素采用的是可擴(kuò)展標(biāo)記語(yǔ)言文檔腳本;所述添加模塊,還用于將所述子元素添加到所述第二元素對(duì)象的子節(jié)點(diǎn)中。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括:創(chuàng)建檢測(cè)模塊,用于檢測(cè)所述第二元素是否以創(chuàng)建;執(zhí)行模塊,用于當(dāng)所述第二元素未創(chuàng)建時(shí),創(chuàng)建所述第二元素;當(dāng)所述第二元素已創(chuàng)建時(shí),獲取第二元素對(duì)象。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于:所述添加模塊,還用于將所述第二元素的節(jié)點(diǎn)添加到所述地圖的主節(jié)點(diǎn)中。10.根據(jù)權(quán)利要求7至9任一所述的裝置,其特征在于,所述第二元素為可縮放矢量圖形SVG元素,或矢量可標(biāo)記語(yǔ)言VML元素?!疚臋n編號(hào)】G06F17/30GK104050238SQ201410223117【公開日】2014年9月17日申請(qǐng)日期:2014年5月23日優(yōu)先權(quán)日:2014年5月23日【發(fā)明者】杜雄,胡道生,夏曙東申請(qǐng)人:北京中交興路信息科技有限公司