信息窗口显示在同一标记上
Infowindows Displayed on the Same Marker
for (var i = 0; i < locs.length; i++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(locs[i][0], locs[i][1])
, map: map
, title: "Hello World!"
, icon: iconImage
, clickable: true
});
marker.info = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(marker, 'click', function () {
marker.info.open(map, marker);
});
}
所有标记在地图上都显示得很好,但问题是当我单击以查看信息窗口时 - 信息窗口始终显示在同一个标记上。怎么了?
由于您的标记变量没有保留在foreach循环的范围之外,因此我认为maps api没有正确跟踪它们。使用标记将活动标记保存在数组中是一种很好的做法,这样您就可以在以后处理它们(或以其他方式管理它们(。尝试这样的事情:
var markers = Array(); //make sure this is scoped properly
for (var i = 0; i < locs.length; i++) {
var marker = new google.maps.Marker({
position: new google.maps.LatLng(locs[i][0], locs[i][1])
, map: map
, title: "Hello World!"
, icon: iconImage
, clickable: true
});
var index = markers.push(marker) -1;
markers[index].info = new google.maps.InfoWindow({
content: contentString
});
google.maps.event.addListener(markers[index], 'click', function () {
marker.info.open(map, marker);
});
}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 内部分区字体大小获胜'调整浏览器窗口大小时不会随媒体查询而更改
- 调整窗口大小时,可拖动的对象会出现在容器外部
- Javascript排序的图像弹出窗口..可以't单独弹出
- 窗口大小html css
- 弹出窗口出现,然后退出
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- Javascript更新孙窗口中的表单元素
- 如何在选项卡上定义属性'的主窗口对象
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 召回窗口加载事件 - javascript
- 为什么不显示警报窗口
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Chrome应用程序调整窗口大小保持纵横比
- 新选项卡被弹出窗口阻止程序阻止
- 如何访问UIWebView'的子窗口上下文
- 刷新父窗口后无法关闭窗口
- 自动关闭弹出窗口的Javascript
- 如何使用特定大小的浏览器窗口打开我的页面