在页面加载时打开多个 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);
}
我正在尝试获取它,以便我的自定义 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);
}