带有OMS的Google地图 - 响应点击事件的标记属性

时间:2013-08-23 15:35:31

标签: javascript events google-maps-api-3

我对Google Maps API OverlappingMarkerSpiderfier遇到了一些问题:

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

在我初始化它们之后,我尝试为每个标记添加一个监听器,但它不会识别该数组,即使它是全局的,每当我点击标记时都会给出错误“parentNodes [i] is undefined”

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

我认为更好的解决方案就是拥有一个侦听器,但是如果侦听器不知道哪个被点击,并且只是否是其他的,那么有没有办法访问标记的属性它下面的标记?或听众是否知道?

1 个答案:

答案 0 :(得分:0)

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