2014-10-08 107 views
0

我在谷歌地圖上加載了約15,000個標記。多個標記崩潰瀏覽器

我已經通過每秒使用時間間隔檢索了1000個標記。

當它完成和15000標記在地圖上加載然後崩潰瀏覽器。

所以,我必須爲這個問題做些什麼。

請不要投票下來。

for (x in dataObject) { 
     var infowindow = new google.maps.InfoWindow(); 
     var markerPosition = new google.maps.LatLng(dataObject[x].Latitude, dataObject[x].Longitude); 
     var scaleSize = getSectorSize(dataObject[x].Mapinfo_Sector_Size); 
     var sectorColor = getSectorColor(dataObject[x].Radios); 
     var pathValue = createPie(dataObject[x].MapInfo_Beamwidth); 

     marker = new google.maps.Marker({ 
      position: markerPosition, 
      map: map, 
      icon: { 
       path: pathValue, 
       fillColor: sectorColor, 
       fillOpacity: 1, 
       strokeColor: '', 
       strokeWeight: 0, 
       //scale: 0.8, 
       scale: dataObject[x].Mapinfo_Sector_Size + 0.04, 
       anchor: new google.maps.Point(0, 0), 
       rotation: 250 + dataObject[x].Azimuth, 
       //rotation: 250, 
      }, 
     }); 
+0

在Chrome中,打開開發人員工具,單擊時間軸,選中「捕獲內存」框,按記錄按鈕(左上角)並重新加載頁面。正在使用多少內存? – 2014-10-08 14:33:27

+0

15,000個標記是一個很大的,我並不感到驚訝,你有一個崩潰!有另一種方法可以顯示這些數據嗎?例如,在顯示數據之前對數據進行採樣,以便顯示代表相同位置分佈的1,000個標記? – 2014-10-08 14:34:29

+0

是的,我知道15000個標記是很多。但是,我必須找到辦法做到這一點。感謝您的回覆。 – Nikunj 2014-10-09 06:01:01

回答

1

我在谷歌地圖的工作項目自己和所看到的性能問題時,標記的數量增加超過500甚至

谷歌地圖文檔本身提供了一些有效的workarounds,其中我已經使用MarkerClusterer v3,它提供了一個管理大量標記的好方法。 但是使用MarkerClusterer不會改善您的性能問題

如果您仍然希望在單個視口中向用戶顯示15000個標記(從用戶體驗的角度來看,它本身聽起來不太正確),那麼您可以查看是否將標記添加到疊加層,此博客

How To Quickly Add Many Markers Without Killing The Map

提供添加地圖上方的重疊(DIV)和添加標記到div的完善的解決方案。該博客還提供了加載1000個標記的示例。我不知道這是否會與15000 :)

希望這會有所幫助。

+0

嘿,朋友謝謝你的回覆。我必須嘗試這個覆蓋。 – Nikunj 2014-10-09 05:56:43

+1

有趣的是,使用Chrome(至少對我而言),* slow *解決方案的加載速度比* fast *快。我想這取決於一些參數,如硬件,操作系統,瀏覽器等。 – MrUpsidown 2014-10-09 08:01:02