Google maps 谷歌地图MarkerClusterer没有';t反映正确的标记数

Google maps 谷歌地图MarkerClusterer没有';t反映正确的标记数,google-maps,numbers,markerclusterer,Google Maps,Numbers,Markerclusterer,我创建了一个使用MarkerClusterer库的地图。这似乎有效,但有几个问题 首先,看起来集群所代表的标记的数量有时有点不准确-即,有时候集群会说它有24个标记,但是当你点击它时,窗口中会显示40个标记 第二,一旦你缩小一些级别,数字就会变得疯狂——我们只有4k+标记,而我得到的集群上有12k+的数字 我不知道如何前进。我希望能得到一些帮助。谢谢 您有一个事件侦听器,在映射空闲时调用showmarks。每当空闲事件触发时,该函数都会将所有标记添加到clusterer中(因此每个标记都有多个副

我创建了一个使用MarkerClusterer库的地图。这似乎有效,但有几个问题

首先,看起来集群所代表的标记的数量有时有点不准确-即,有时候集群会说它有24个标记,但是当你点击它时,窗口中会显示40个标记

第二,一旦你缩小一些级别,数字就会变得疯狂——我们只有4k+标记,而我得到的集群上有12k+的数字


我不知道如何前进。我希望能得到一些帮助。谢谢

您有一个事件侦听器,在映射空闲时调用showmarks。每当空闲事件触发时,该函数都会将所有标记添加到clusterer中(因此每个标记都有多个副本)。您可能需要addListenerOnce而不是addListener


另一种选择是在再次添加所有标记之前清除聚集器中的标记,但由于您似乎只需要向聚集器添加一组固定的标记,因此这可能不是最佳选择。

实际上,addListenerOnce可以工作,但如果您缩放,新边界内的标记没有添加-仍然被难住。。。我已经尝试清除集群,然后重新添加标记,但无法使其工作…您的问题中的链接不再工作(我得到404)。一个想法是,不看代码,将代码更改为加载所有标记,而不是仅加载视图中的标记,然后使用addListenerOnce。另一种选择是清除clusterer,但你必须小心,因为你不希望同时激活多个请求,如果没有看到你或现有代码,就无法帮助你。抱歉-修补多个-这里是链接:-如果我加载所有标记,这很好,但我们已经有了很多,而且还会有更多——如果能通过在视口中只加载标记来实现这一点,那就太好了……我设法在重新加载之前清除了标记数组,这似乎给出了正确的数字,但我还没有弄清楚如何清除簇,然后重新加载。你能添加MCVE吗?这将大大有助于我们回答你的问题。