使用Google地图触发标记和标记群集上的点击事件

时间:2018-03-20 02:39:37

标签: javascript jquery google-maps

InfoWindow在标记和标记簇上的一切正常,但所有标记和标记簇在页面加载时无法触发。

enter image description here

到目前为止,这是我的代码。 (参见我的 JSFiddle

如何在所有标记和标记群集上触发点击事件默认情况下? 我添加了google.maps.event.trigger(marker, 'click'),但它没有用。

我需要在initialize function中更改哪些内容才能使其正常工作?

1 个答案:

答案 0 :(得分:1)

e.g。 https://jsfiddle.net/jacobgoh101/7Lg1q5fL/7/

问题是只有一个infoWindow变量。每当您单击标记时,它都会覆盖以前的infoWindow。所以一次只能有1个infoWindow。

因此,您必须创建多个infoWindow变量,并在初始化标记后立即设置它们,而不是在单击后设置它们。

  for (i = 0; i < clusterMarkers.length; i++) {
    var marker = clusterMarkers[i];

    var newInfoWindow = new google.maps.InfoWindow();
    newInfoWindow.setContent("<a target=\'_blank\' href=\'" + marker.getTitle() + "\'>" + marker.getTitle() + "</a><br />" + marker.content + "kWh");
    newInfoWindow.open(gm_map, marker);
    infoWindowArray.push(newInfoWindow);

    // ...........
  }

(你的代码有点乱,所以我只编辑必要的部分给你一个想法。希望这足以让你建立在上面。)