Markerclusterer - 根据连续标记数组中的“id”触发特定标记的单击事件

时间:2012-09-26 17:06:50

标签: javascript arrays google-maps markerclusterer

在实施MarkerClusterer之前,我已经能够通过首先加载标记数组来触发特定标记的点击事件(然后调出特定于该标记的面板):

markers[marker.id] = marker;

(其中marker.id是从JSON绘制标记时设置的属性,对应于我数据库中的用户记录)

然后致电:

google.maps.event.trigger(markers[id], 'click');

(其中'id'是我想点击标记的用户ID)

现在我想使用MarkerClusterer,它不会使用我上面使用的数组加载方法进行聚类,我假设因为我的标记数组中存在“空白”,因为我没有为所有用户绘制标记。

...当我加载我的标记数组时,MarkerClusterer工作:

markers.push(marker);

我认为这给出了一个没有间隙的连续数组,MarkerClusterer可以读取......但现在我无法通过数组中的索引触发正确的标记点击。

所以我觉得我需要一种基于marker.id的方法在连续标记数组中找到.indexOf标记...

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您至少有两个选项:

  1. 遍历“连续”标记数组,寻找具有正确id的标记(效率低,需要使用大量标记进行额外处理),然后触发点击事件。
  2. 也创建你的关联数组,用它来触发click事件(低效,需要额外数组的内存)