Javascript 谷歌API 3从谷歌地图之外的div打开信息窗口

Javascript 谷歌API 3从谷歌地图之外的div打开信息窗口,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,正如标题所述,我如何使用谷歌API 3从谷歌地图之外的divs打开信息窗口 这就是我今天要做的,但这只是在最后一个div链接上工作,而不是在每个链接上 markerObj = document.getElementById(markerId); markerObj.onclick = function(){ google.maps.event.trigger(marker, 'click');

正如标题所述,我如何使用谷歌API 3从谷歌地图之外的divs打开信息窗口

这就是我今天要做的,但这只是在最后一个div链接上工作,而不是在每个链接上

markerObj =  document.getElementById(markerId);
                   markerObj.onclick = function(){
                       google.maps.event.trigger(marker, 'click');
                   } 

有什么线索吗

我认为要使这项工作成功,你需要有一系列的标记。然后,您可以触发对您想要的确切标记的单击(现在它只会在您的最后一个标记上执行)

因此,在向地图添加标记时,请将其附加到数组中:

var markers = [];

var marker = new google.maps.Marker({   ... });

marker.addListener('click', function() {
    infowindow.setContent('blah blah');
    infowindow.open(map, this);
});

markers.push(marker);
然后在您的div上,传入一个ID,以确定您正在处理的是哪一个数组

12
(JS数组从零开始)

然后对代码稍作修改:

markerObj =  document.getElementById(markerId);

// work out which number it is
var linkID = markerId.replace("link", "");

markerObj.onclick = function(){
    google.maps.event.trigger(markers[linkID], 'click');
}

谢谢你的回答!有没有关于如何做到这一点的线索?应该在你的JS中。它可以像
var-markerId='link0'一样简单但我想在循环中完成它
for(var i=0;i<[some count];i++){markerId='link'+i;…etc}
@thomasjaunism