2017-04-16 26 views
2

我想實現一個包含大量數據的地圖,例如 https://openlayers.org/en/latest/examples/geojson.htmlhttp://leafletjs.com/examples/quick-start/大量使用傳單或開放層的動態數據點

雖然在100%縮小,地圖將需要顯示在總將得到動態更新的50000左右的標記或圈(每1-5分鐘)。根據用戶設置,圓圈/標記可能會有不同的顏色等。

放大時,要求顯示大約1000個小圖像(在圓/標記曾經是的地方)。

如何在地圖內處理如此大量的動態數據?例如,如果我在Leaflet中使用小圓圈,我可以看到它處理了1000多個,而放大和縮小時沒有更大的問題,但是由於瀏覽器需要處理大量數據的數據點。我希望OpenLayers也有同樣的問題。

有什麼想法?

回答

1

您需要使用畫布渲染器寬度L.canvas。您可以將地圖選項preferCanvas設置爲true或創建渲染器寬度L.canvas並將其綁定到要素圖層寬度renderer選項。因此,這將是這樣的:

L.geoJson(null,{renderer:L.canvas()}); 

此外,我建議你在部件添加功能,即使渲染器可以處理這個數據量,它仍然將是長期工作在一個時間來渲染這一點。您可以拆分數據並使用timeout代替。

如果您需要一些自定義設計點,您還可以擴展此類,寬度爲新的要素類型。

寬度這個技術我能夠呈現超過60000標記寬度沒有滯後。