我有一个应用程序,其中我需要infowindow
气泡中的数据自动更新。我已经检查过,我看到了移动标记,更新标记颜色等方法,但没有直接更新信息窗口内容的方法。我从隐藏的DOM元素中提取必要的值(例如building[i][7]
),其内容会自动更新,我需要infowindow的内容自动更新。
以下是我用来绘制infowindow
气泡的代码。
infowindow=new google.maps.InfoWindow();
for (i=0;i<buildings.length;i++){
marker=new google.maps.Marker({
position:new google.maps.LatLng(buildings[i][4],buildings[i][5]),
map:map,
shadow:shadow,
icon:greenIcon,
title:buildings[i][0]+" \n"+buildings[i][1],
zIndex:buildings[i][6]
});
}
google.maps.event.addListener(marker,'click',(function(marker,i){
return function(){
infowindow.setContent(
'<h2>'+buildings[i][0]+'</h2>'+
'<p>'+buildings[i][2]+'</p>'+
'<p>'+buildings[i][7]+'</p>'
);infowindow.open(map,marker);
}
})(marker,i));
非常感谢任何帮助!
答案 0 :(得分:1)
当DIV
的内容发生变化时,JavaScript中没有内置方式可以通知,但我相信jQuery.bind()函数或更新版本(jQuery v1.7){{ 3}}函数提供了一种实现你想要实现的东西的方法。
答案 1 :(得分:0)
在函数调用上运行
infowindow.setContent(
'<h2>'+buildings[i][0]+'</h2>'+
'<p>'+buildings[i][2]+'</p>'+
'<p>'+buildings[i][7]+'</p>'
);infowindow.open(map,marker);