1

infowindowバブル内のデータを自動的に更新する必要があるアプリがあります。確認したところ、マーカーの移動やマーカーの色の更新などの方法がわかりましたが、情報ウィンドウのコンテンツを直接更新する方法はありません。コンテンツが自動的に更新される非表示のDOM要素から必要な値(たとえばbuilding[i][7])を取得しています。情報ウィンドウのコンテンツも一緒に自動的に更新する必要があります。

これが私が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

DIVJavaScriptには、コンテンツの内容が変更されたときに通知される組み込みの方法はありませんが、 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 に答える