1

我有一个 MarkerClusterer,如果缩放级别低于阈值,我想禁用它。

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

4

1 回答 1

2

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

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

另一种选择是做一些糟糕的 hack,比如创建第二个用户不可见的地图并将 MarkerCluster 分配给该地图。它不会赢得任何编码比赛,但它会起作用。

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

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

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

于 2011-05-21T16:49:16.537 回答