标记群集器 - 根据特定标记在连续标记数组中的"id"触发其单击事件



在实现MarkerCluster之前,我已经能够通过首先加载标记数组来触发特定标记的点击事件(然后会显示该标记特定的面板),如下所示:

markers[marker.id] = marker;

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

然后呼叫:

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

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

然而,现在我想使用MarkerCluster,它不会使用我上面使用的数组加载方法进行集群,我认为这是因为我的标记数组中存在"间隙",因为我没有为所有用户绘制标记。

MarkerCluster在我像这样加载标记数组时工作:

markers.push(marker);

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

因此,我似乎需要一种基于标记.id的方法来在连续标记数组中找到标记.indexOf…

任何帮助都将不胜感激。

您至少有两个选项:

  1. 遍历"连续"标记数组,寻找具有正确id的标记(效率低下,需要对大量标记进行额外处理),然后触发点击事件
  2. 还创建关联数组,将其用于触发单击事件(效率低下,需要额外数组的内存)

最新更新