2011-05-21 55 views
1

我有一個MarkerClusterer,如果縮放級別低於閾值,我想禁用它。谷歌地圖Api V3:在某些縮放級別上限制MarkerClusterer

示例: 縮放級別爲10,羣集可見。閾值爲5,所以如果用戶縮小以查看世界,則不應渲染所有標記。我不想清除標記,因爲如果用戶再次放大,它們需要顯示。

回答

2

如果您不想清除標記,則可改爲使用setMap()將MarkerCluster分配到的地圖設置爲與用戶正在查看的地圖不同的地圖。

setMap()以null作爲有效參數。

另一個選擇是做一些糟糕的黑客攻擊,比如創建用戶看不到的第二張地圖,並將MarkerCluster分配給該地圖。它不會贏得任何編碼比賽,但它會起作用。

然後,當您恢復到適當的縮放級別時,可以再次使用setMap()將MarkerCluster放回地圖上。

您可以使用zoom_changed事件來檢測地圖上的縮放何時發生變化,並適當地調用setMap()。

希望這是你需要完成這一切的所有東西,但如果沒有,發佈一些你的代碼,也許我們可以嘗試更具體地瞭解如何修改它來實現這一點。

+0

將地圖設置爲null可以完美工作 – Alp 2011-05-22 08:55:22

相關問題