全國 切換城市 簡居客地圖標注通過地圖標注申請入口為商鋪企業(yè)提供地圖標注修改刪除服務(wù),全網(wǎng)地圖均可標記1-5個工作日快速上線!
簡居客地圖標注客服

如何在google map中處理大量標記原創(chuàng)

想吃糖的木子小

想吃糖的木子小

候,使Google Map標記是很平常的。但是一旦你有幾百個、甚至更多地標的時候,性能迅速的開始降低。在本文章中,我會告訴你一些提高性能的方法。同時我會放一個測試頁面去比較它們的效率。 如果你是第一次使用Google Map的標記,我建議你先去了解一下在Google Map上使用標記的一些基本原理和操作。The Marker Manager-Keeps track of them您的第一選擇可能是利用MarkerManager,因為它是一個由谷歌提供的實用工具庫。首先要將標記添加到MarkerManager,而不是使用GMap
2.addOverlay()逐個的將每一個Marker添加到Map。MarkerManager會不斷你所有的標記。通過定義幾個不同的zoom-levels,將可能會同時出現(xiàn)的Marker集合放在同一level上,避免在同一時間大量的Marker同時顯示。MarkerManager 最初比直接加入到地圖中有些慢,但是這樣添加的好處是你可以更好的控制它們。使用addMarker(GMarker, minZoom, maxZoom?)將標記添加到MarkerManager,這個方法攜帶三個參數(shù),第一個是你要添加的標記,后兩個參數(shù)是可選的,但是界定了在什么level上這個標記是可見的。A simple example//Create a new mapvar map=new GMap2(document.getElementById('map'));map.setCenter(new GLatLng(5
9.5,1
4.0),6);//Create a new instance of the MarkerManagervar mgr = new MarkerManager(map);// Create a new marker var marker = new GMarker(new GLatLng(5
9.0, 1
3.80)); // Add marker to the MarkerManager mgr.addMarker(marker);明顯的,沒有誰會想MarkerManager添加單一的標記,但是如果你有幾百個標記,那么可能就要這么做了。Bulk adding the markers使用MarkerManager更高效的辦法是,首先將所有標記添加到一個數(shù)組中,然后用addMarkers(markerArray, minZoom, maxZoom?)將這個數(shù)組添加到MarkerManager。// Create a new instance of the MarkerManager var mgr = new MarkerManager(map); // Create marker array var markers = []; // Loop to create markers and adding them to the MarkerManager for(var i = 0; i < 50; i += 0.1) { var marker = new GMarker(new GLatLng(5
9.0 + i, 1
3.80 + i)); markers.push(marker); } // Add the array to the MarkerManager mgr.addMarkers(markers); // Refresh the MarkerManager to make the markers appear on the map mgr.refresh();請注意,在將存有標記數(shù)組添加到MarkerManager之后,必須調(diào)用mgr.refresh()。在逐個添加Marker的時候是不需要的。附加方法removeMarker(marker)從MarkerManager中移除一個標記。clearMarkers()移除所有標記。getMarkerCount(zoom)返回在指定的zoom-level下的標記個數(shù)。MarkerManager是Google提供的一個實用工具庫。從下面的鏈接你可以源代碼以及說明和例子。Google Maps MarkerManager SVN:鏈接 Light - Markers on a diet(高亮標記-首都標記)Google的Pamela Fox 為減少復(fù)雜標記,從而提高效率的MarkerLight制作了一個簡單的程序。這樣做的代價是,真的僅僅是在地圖上顯示一個圖片,但你不能與之交互。如果你不需要與程序交互,那么這種辦法真的是一種簡單的提高性能的辦法,這樣做唯一的區(qū)別就是你創(chuàng)建的是一個MarkerLight,而不是一個GMarker。作者Pamelas后來解釋了為什么這種方法會提高效率:GMarker之所以耗時這么長是因為它實際上是由多個DOM元素構(gòu)成-前景,陰影,打印版本,可點擊區(qū)域等。如果你的目的只是顯示,那么你可以選擇象MarkerLight那樣創(chuàng)建一個帶有背景URL的DIV那樣去創(chuàng)建一個GOverlay的擴展(或者背景顏色、甚至更好的)------Pamela Fox以下是如何使用它:map.addOverlay(new MarkerLight(latlng, {image: "red_dot.png"}));red_dot.png這個圖片是用于marker中的。這是最小最簡單的一個。你可以嘗試在Pamelas test page上用不同數(shù)量的標記測試效率。Download markerlight.Using Marker Light in combination with MarkerManager-結(jié)合MarkerManager使用Marker Light用MarkerManager的集中式添加MarkerLight的好處很多,而且真的很簡單,只是將二者結(jié)合起來。mgr.addMarker(new MarkerLight(latlng, {image: "red_dot.png"}));這樣做的原因是你可以顯示在不同縮放級別下不同數(shù)量的標記。這種方式可以確保不會有太多的標記在同一時間顯示。Clusterer - Only show what you need另一種方法是使用ACME實驗室群集Clusterer。這是一個第三方庫,提供了更快捷的方式加入標記。它是在BSD許可證下發(fā)布,并免費提供。只需要做兩件事情,效率會更快:
1.只有當前可見的標記會被建立。
2.如果有太多的標記需要顯示,那么它們會組合在一起成為群集標記。 這會讓你的地圖上即使有成千上萬個標記依然能保持良好的性能。我的測試表明,這種方法的效率要顯著快于使用MarkerManager的方式。以下是如何使用它: // Create a Clusterer object var clusterer = new Clusterer(map); // Create marker var marker = new GMarker(new GLatLng(5
7.8, 1
4.0)); // Add marker to the map clusterer.AddMarker(marker, 'text to infobox'); 調(diào)用clusterer.RemoveMarker(marker)方法來從Map中移除標記。另外還有一些方法來改變標志的行為。
1. clusterer.SetIcon(GIcon) 改變簇的圖標
2. clusterer.SetMaxVisibleMarkers(n) 設(shè)置標記最多可見的數(shù)量門限,默認值是150.
3. clusterer.SetMinMarkersPerCluster(n)為一個標記集合設(shè)置最少的標記數(shù),默認值是
5.
4. clusterer.SetMaxLinesPerInfoBox(n)設(shè)置信息框內(nèi)文本的最大行數(shù),默認值是
10.Download Clusterer
2.ClusterMarker - Chunk 'em all upClusterMarker是一個根據(jù)GNU通用公共許可證發(fā)布的免費javascript庫,可以集中添加標記。這個庫的獨特行在于它會自動檢測標記,彼此相交和集成為一個標記群集。
如何在GOOGLE地圖上標注自己?

wakawaka

wakawaka

你注冊google地圖,然后,有一個給你填,你填好地址后,google會給這個地址發(fā)信。然后,你輸入信里的驗證碼,就OK了。

2021-09-23 17:40:38 1123查看 1回答

請問,如何在google地圖標注中出現(xiàn)我的公司?

居然重復(fù)注冊了

居然重復(fù)注冊了

這個可以教你鏈接

2021-09-23 17:41:18 575查看 1回答

如何在電子地圖上大量標注信息?

水晶果子

水晶果子

谷歌地圖支持這個功能

2021-09-23 17:41:34 826查看 1回答

如何在Google map 上標注地名啊

王寧

王寧

歌站(鏈接),注冊一號果有的話,直接登陸內(nèi)就可以了。二、容登錄后會自動進入本地商戶中心的內(nèi)容添加頁面,請按照步驟填寫:必填信息>類別>營業(yè)時間與付款方式>照片>自定義>驗證。三、全部填寫完畢后會自動跳轉(zhuǎn)到本地商戶中心管理頁面,選擇驗證方式,通過...

2021-09-23 17:42:33 533查看 3回答

google map怎么實現(xiàn)點擊地圖上的標記,顯示出一張該地點的圖片?

大米

大米

不太熟悉網(wǎng)頁編程,但是kml文件中本身可以用代碼添加相片和說明吧

2021-09-23 17:42:45 573查看 3回答

請問下 在google map上怎么添加多個坐標標記

月石迷城

月石迷城

鏈接很全的!

2021-09-23 17:42:45 508查看 2回答

google map添加自定義的標記,怎么在地圖上不能顯示了?

魔叉詩人-老時

魔叉詩人-老時

誰讓你寫絕對路徑啊myicon.image="F:\tubioao\mmg.png";改成你的網(wǎng)站發(fā)布路徑

2021-09-23 17:42:45 478查看 2回答

如何在google map中處理大量標記原創(chuàng)

想吃糖的木子小

想吃糖的木子小

候,使GoogleMap標記是很平常的。但是一旦你有幾百個、甚至更多地標的時候,性能迅速的開始降低。在本文章中,我會告訴你一些提高性能的方法。同時我會放一個測試頁面去比較它們的效率。如果你是第一次使用GoogleMap的標記,我建議你先去了解一下在Googl...

2021-09-23 17:42:45 495查看 2回答

請問如何在google earth里添加地標?

Without You

Without You

首先,進入GoogleEarthCommunity主頁后,點“Newuser”創(chuàng)建一個新用戶,這個創(chuàng)建方法和一般中文論壇創(chuàng)建用戶的方法很類似,填寫表單,選中“IAgree”后點Submit就可以創(chuàng)建成功。然后,打開GoogleEarth,然后在自己的地標上點右鍵,再...

2021-09-23 17:43:13 673查看 2回答

最新知識

公司地址認領(lǐng)搜狗地圖標注多久審核?公司地址認領(lǐng)地圖標注多久審核?

小編為您整理我在地圖上標注審核認領(lǐng)需要多久、我在地圖上標注審核認領(lǐng)需要多久y、我在地圖上標注審核認領(lǐng)需要多久i、我在地圖上標注審核認領(lǐng)需要多久Y、搜狗地圖標注要多久才顯示相關(guān)地圖標注知識,詳情可查看下方正文!

公司地址如何入駐花小豬打車地圖標記?指路人地圖標注服務(wù)中心鋪如何入駐花小豬打車地圖標記?

小編為您整理美團商家如何入駐,商家入駐教程、商家如何入駐地圖、如何入駐地:、養(yǎng)殖營業(yè)執(zhí)照如何入駐地圖、家政公司如何入駐美團相關(guān)地圖標注知識,詳情可查看下方正文!

門指路人地圖標注服務(wù)中心如何做花小豬打車地圖位置標記?門指路人地圖標注服務(wù)中心花小豬打車地圖位置地址標記?

小編為您整理如何做地圖標記、地圖如何做標記、so搜街景中如何做標記、360e啟花貸款申請通過了是要去到門指路人地圖標注服務(wù)中心辦理手續(xù)的嗎、哪些軟件能實現(xiàn)在地圖上標記門指路人地圖標注服務(wù)中心位置相關(guān)地圖標注知識,詳情可查看下方正文!

門指路人地圖標注服務(wù)中心地圖位置地址標記?門指路人地圖標注服務(wù)中心蘋果地圖位置地址標記?

小編為您整理哪些軟件能實現(xiàn)在地圖上標記門指路人地圖標注服務(wù)中心位置、門指路人地圖標注服務(wù)中心地址標注、如何創(chuàng)建門指路人地圖標注服務(wù)中心定位地址、如何創(chuàng)建門指路人地圖標注服務(wù)中心定位地址、服裝門指路人地圖標注服務(wù)中心地址標注上地圖怎么弄相關(guān)地圖標注知識,詳情可查看下方正文!

凱立德地圖位置定位怎么設(shè)置自己的指路人地圖標注服務(wù)中心名?凱立德地圖位置定位怎么設(shè)置公司地址?

小編為您整理凱立德怎么定位自己的位置啊、手機凱立德地圖定位怎么設(shè)置往上走、地圖位置定位怎么設(shè)置自己的指路人地圖標注服務(wù)中心名、凱立德手機版如何定位自己的位置,求助、凱立德導(dǎo)航怎么設(shè)置指路人地圖標注服務(wù)中心鋪招牌相關(guān)地圖標注知識,詳情可查看下方正文!

最新問答
熱門專題