InfoWindow在标记和标记簇上的一切正常,但所有标记和标记簇在页面加载时无法触发。
到目前为止,这是我的代码。 (参见我的 JSFiddle )
如何在所有标记和标记群集上触发点击事件默认情况下?
我添加了google.maps.event.trigger(marker, 'click')
,但它没有用。
我需要在initialize function
中更改哪些内容才能使其正常工作?
答案 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);
// ...........
}
(你的代码有点乱,所以我只编辑必要的部分给你一个想法。希望这足以让你建立在上面。)