2012-02-27 83 views
1

我正在開發大型地理位置網站。 Google地圖上有超過250萬個地方可以顯示標記和信息窗口(點擊標記時)。使用MarkerClusterer,JSON/AJAX的數百萬Google Map Marker

我正在使用MarkerClusterer來縮小單個標記的負載。

但是,如果瀏覽器(JSON等)中的數據太多,真的會殺死頁面,

任何建議,通過在更改平移時標識地圖邊界來按需加載JSON。

任何建議,以資源也讚賞。

+1

「在平移改變時通過標識地圖邊界來加載按需JSON的任何建議。」 ---是的,在地圖邊界發生變化時按需加載(CO) – zerkms 2012-02-27 22:48:39

回答

0

看一看Cluster我認爲它可能做你想要什麼:

  • 只有標記當前可見真正得到建立。
  • 如果有太多的標記是可見的,那麼它們組合成集羣 標記
+0

我認爲Cluster只適用於即將被棄用的Google Maps v2。 – Baer 2012-06-01 17:48:41

0

你可以找一個quadkey。 quadkey非常適合降低維度複雜性並構建感興趣點的集羣。有許多不同的方法,如z曲線,希爾伯特曲線,佩諾諾曲線。爲了進一步限制約束,您可以將羣集事件附加到邊界框和谷歌地圖的縮放級別。

0

有一個標記Clusterer的版本,適用於谷歌地圖API的v3,但這不是問題在這裏。問題在於,你仍然在使用JS處理瀏覽器中的底層數據(通過JSON/AJAX檢索到250萬個地方)。這很可能是太多了,除非你使用速度很快的計算機進行快速連接。

對於那些在自己的網站上考慮這個問題的人,請記住越來越多的移動設備正在訪問這些網站,而且這些設備上的JavaScript無法處理的點數幾乎沒有。我自己的網站打破了iOS6的最新版本,現在我必須通過改變我的js來適應更容易的系統負載。

但是,要回到手邊,您需要做的是在地圖邊界發生變化時創建一個新的ajax調用,並且如果變焦過遠,您必須限制數量檢索並執行一些系統以向用戶顯示並非所有結果都顯示。如果我正確記得,我的網站使用了250的限制,並且顯示了位置周圍的邊界矩形(以及markerclusterer以對它們進行聚類)。在填充真實數據之前,我做了數千和數千的測試數據庫,這個數字似乎是性能和信息的最佳折衷。 (但那是在我移動之前和api的v3之前)。 V3應該更簡化,但移動設備是有限的,所以你必須測試。

0

我正在使用標記羣集加上庫的標記大小上限爲200和默認縮放級別8.在縮放更改或拖動時,另外200個標記將出現在地圖上。

如果縮小標記將被聚集,反之亦然。

+0

你有任何機會鏈接到這個圖書館? – yochannah 2013-12-30 18:04:32