1

我有一个应用程序,我需要在其中infowindow自动更新气泡中的数据。我已经检查过了,我看到了移动标记、更新标记颜色等的方法,但没有直接更新 infowindow 内容。我正在building[i][7]从内容自动更新的隐藏 DOM 元素中提取必要的值(例如 ),并且我需要 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));

任何帮助是极大的赞赏!

4

2 回答 2

1

JavaScript 中没有内置方法可以在内容DIV更改时收到通知,但我相信jQuery.bind()函数或更新的 (jQuery v1.7) jQuery.on()函数提供了一种方法实现你想要达到的目标。

于 2012-04-30T23:12:58.290 回答
0

在功能调用上运行

    infowindow.setContent(
        '<h2>'+buildings[i][0]+'</h2>'+
        '<p>'+buildings[i][2]+'</p>'+
        '<p>'+buildings[i][7]+'</p>'
    );infowindow.open(map,marker);
于 2012-04-27T18:24:22.073 回答