17

こんにちは、Google フュージョン テーブルと Google マップを使用しています。マーカーは正しく表示されますが、情報ウィンドウにいくつかの画像を挿入したいと考えています。つまり、これらのマーカーの場所を見つけるためにクエリを実行し、それらのマーカーには多くのカテゴリを含めることができます (そのため、マージされたテーブルを使用できませんでした)。ユーザーがマーカーをクリックすると、情報ウィンドウが表示され、マーカーに関する情報が表示されます。以前はカテゴリのテキストだけが含まれていましたが、各カテゴリからアイコンを取得して情報ウィンドウに表示したいと考えています。問題は、2 番目のクエリが、情報ウィンドウを表示するのにかかる時間よりも長くかかることです。だから私は不完全な修正をしました、私は追加しました

$('#infoWindowsCatDer').append(info);

2番目のクエリの最後にあるので、ウィンドウの表示にクエリよりも少し時間がかかるとどうなるか、問題がわかると思います。これはイベントで扱うべきものですよね?

のイベントはありますか

lastWindow.open(map);

では、情報ウィンドウが完全に開いているときに、画像を追加できますか?

4

1 に答える 1

36

InfoWindowオブジェクトはdomready、DOMにアタッチされた(完全にロードされた)ときにイベントイベントを発生させます。これはAPIドキュメントで確認できます:https ://developers.google.com/maps/documentation/javascript/reference#InfoWindow

次に、次のようなリスナーを使用して、コンテンツが読み込まれた後に情報ウィンドウにコンテンツを読み込むことができます。

var referenceToInfoWindow = new google.maps.InfoWindow({content: 'My info' });

google.maps.event.addListener(referenceToInfoWindow, 'domready', function(){
    //code to dynamically load new content to infowindow
    //for example:
    //    var existing_content = referenceToInfoWindow.getContent();
    //    var new_content = "...";
    //    referenceToInfoWindow.setContent(existing_content + new_content);
}); 
于 2012-08-22T01:32:18.153 に答える