1

我对 Google Maps API 的OverlappingMarkerSpiderfier有点问题:

在脚本开始附近,我将所有标记存储在一个名为“parentNodes”的数组中。当我点击一个标记时,我需要能够检测到该标记的“id”(“id”是我在初始化它们时设置的每个标记的属性),以便我可以运行另一个隐藏所有标记的函数除了我点击的那个之外的标记。

在初始化它们后,我尝试为每个标记添加一个侦听器,但它无法识别该数组,即使它是全局的,每当我单击标记时都会出现错误“parentNodes [i] 未定义”。

for(var i = 0; i < parentNodes.length; i++)
            {
                oms.addListener('click', function()
                {
                    console.log(parentNodes[i].id);
                });
            }

我在想一个更好的解决方案是只拥有一个侦听器,但是如果侦听器不知道单击了哪个并且只知道它下面是否有其他标记,有没有办法访问标记的属性? 或者听者不知何故知道?

4

1 回答 1

0

这是一个常见问题解答(通常是关于在循环中初始化的 infowindows)。“i”大于 parentNodes.length,因此 parentNodes[i] 未定义。

于 2013-08-23T16:01:30.497 回答