任何想法如何使用Mapbox實現這種效果?使用Mapbox在地圖上顯示數百萬的點數
http://www.juwai.com/USproperty/v-1
我需要在美國地圖上顯示140萬點。聚類對我們來說是一個很好的選擇,我有Mapbox」集羣示例試圖在https://www.mapbox.com/mapbox.js/example/v1.0.0/leaflet-markercluster/ 但瀏覽器加載速度非常慢時傳遞其超過200,000緯度/經度對。
任何想法如何使用Mapbox實現這種效果?使用Mapbox在地圖上顯示數百萬的點數
http://www.juwai.com/USproperty/v-1
我需要在美國地圖上顯示140萬點。聚類對我們來說是一個很好的選擇,我有Mapbox」集羣示例試圖在https://www.mapbox.com/mapbox.js/example/v1.0.0/leaflet-markercluster/ 但瀏覽器加載速度非常慢時傳遞其超過200,000緯度/經度對。
很顯然,你不能真的顯示「140萬點」。這對於電腦來說是非常沉重的負擔,對用戶來說是不可能的。看看這個顯示,我猜測他們可能將屬性(在他們的SQL數據庫中......)分組到「社區」中,爲每個「社區」建立一個(lat,lng),並且定義(也是在他們的SQL數據庫中)當時的一個圓形標記。它們無疑也預先計算了在該標記下計數的屬性的數量。
他們會做的下一件事是在這些圓形標記之間建立一個層次結構。在較低(較遠處)的縮放級別下,某些標記將不再出現,它們將顯示不同的(較大...)個計數,它們可能僅從(現在不再顯示...)標記「在他們之下」。
換句話說:每個小葉縮放級別都有其獨特的標記物組,所有這些已經在提前由主機計算。隨着[Leaflet ...]地圖放大或縮小,標記圖層的內容將被替換爲適合該縮放級別的一組新標記。
計算所有這些數據,並將其存儲在適當的SQL數據庫結構中,將是在主機上定期運行的適度腳本或存儲過程的工作。
在最高(最接近...)水平放大的,客戶可能要求主機提供落在實際上是用戶的顯示器上看到的(緯度,經度)範圍內,個別的屬性列表...加上一些保證金。如果用戶將地圖滾動到其他地方,然後(經過短暫停頓以確保地圖不再移動...)主機將被要求發送另一組屬性點。
但是一個關鍵點是「要求顯示[Leaflet]的點總數永遠不會」難以管理「。這是實際可見的一組圓圈,加上一些邊距,每個圓圈代表當顯示器最終歸結爲「單個屬性」時,唯一在點列表中的是那些「在附近,加上一些餘量」的那些。「