Google Maps Api V3:限制某些缩放级别的MarkerClusterer

时间:2011-05-21 14:16:31

标签: google-maps-api-3 zoom markerclusterer

如果缩放级别低于阈值,我想要禁用MarkerClusterer。

实施例: 缩放级别为10,群集可见。阈值为5,因此如果用户缩小以查看世界,则不应渲染所有标记。我不想清除标记,因为如果用户再次放大,则需要显示它们。

1 个答案:

答案 0 :(得分:2)

如果您不想清除标记,则可以使用setMap()将分配了MarkerCluster的地图设置为与用户正在查看的地图不同的地图。

setMap()将null作为有效参数。

另一种选择是做一些可怕的黑客攻击,比如创建一个用户看不到的第二张地图,并将MarkerCluster分配给该地图。它不会赢得任何编码比赛,但它会奏效。

然后,当你回到适当的缩放级别时,你可以再次使用setMap()将MarkerCluster放回地图上。

您可以使用zoom_changed事件来检测地图上的缩放何时发生变化并适当调用setMap()。

希望这是完成这项工作所需的全部内容,但如果没有,请发布一些代码,也许我们可以尝试更具体地了解如何修改它以实现此目的。