在页面加载时打开多个 Google 地图标记信息框

Open multiple Google Map marker infoboxes on page load

我正在尝试获取它,以便我的自定义 Google 地图上的信息框在页面加载时打开。

我目前有这个:

 var infowindow = new google.maps.InfoWindow();
        var marker, i;

        for (i = 0; i < locations.length; i++) {
          marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            map: map,
            icon: pinimage
          });

                infowindow.setContent(locations[i][0]);
                infowindow.open(map, marker);

只打开一个信息框,不打开另外两个(一共三个)。我不确定我错过了什么。

我认为这是因为您的信息窗口需要在您的 for 循环内,因为在它的外部,只会创建一个,因此它所使用的内容和标记在循环的每次迭代中都会被覆盖。

它需要紧跟在创建标记的位置之后。

var infowindow, marker, i;
for (i = 0; i < locations.length; i++) {
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(locations[i][1], locations[i][2]),
        map: map,
        icon: pinimage
    });
    infowindow = new google.maps.InfoWindow();
    infowindow.setContent(locations[i][0]);
    infowindow.open(map, marker);
}