此頁面https://developers.google.com/maps/articles/toomanymarkers谷歌地圖 - 基於網格的聚類
它說怎麼這是最簡單的聚類更多鈔票,但我找不到這方面的任何客戶端解決方案上。有沒有人知道免費開源,基於網格的谷歌地圖標記羣集客戶端解決方案?我不想要MarkerClusterer。
我沒有找到它,所以我去了,開始編碼我自己的解決方案。第一個明顯的要求是,它必須快速加載地圖上至少1000個標記。每次放大,移動和放大,都會重複聚類的過程/功能。網格塊可定製,默認值爲50 * 50像素。
下圖顯示了結果應該是什麼樣子。
我遇到了算法問題,現在我只能想到實現這個功能是通過每個網格的所有標記進行迭代,並詢問它是否在bounderies中,然後增加grid ++數組。這顯然不能這樣做。應該有一些散列或者什麼東西,只需要通過所有標記進行一次迭代就可以了,並且我會知道哪些網格特定的標記屬於。
我希望有人會給我一個提示我後來的算法。謝謝 !
客戶端聚類的事情是它擊敗了聚類的目的。使用客戶端羣集,您仍然需要將有關每個標記的信息傳輸到客戶端(到瀏覽器),客戶端必須努力完成所有數字處理。除非你有充分的理由在客戶端進行集羣,否則我會建議服務器端集羣的方式更有效率。如果你在服務器上進行集羣,然後只將可能的最小數據量傳輸到客戶端,它應該即使在IE上,也可以在任何瀏覽器上快速加載:-) – Marcelo
我想製作插件,就像MarkerClusterer一樣。 [link] http://google-maps-utility-library-v3.googlecode.com/svn/trunk/markerclusterer/examples/speed_test_example.html MarkerClusterer是所有客戶端,並且對於1000個標記超快速運行。這個想法必須相同,只需通過標記數組即可。定義了5000個標記的JS文件大小爲100kb,這並不是什麼大問題。 – displayName
1000個標記是「小東西」。 :-)在這裏看到一個有40000個標記的服務器端解決方案:http://maps.forum.nu/server_side_clusterer/和這裏:http://maps.forum.nu/server_side_clusterer/index2.php – Marcelo