大詰めの某案件。Google MapをThickBoxに表示という要件が含まれていたんだけども、これが意外とてこずった。
ThickBoxのiframeモードでhtmlファイルを呼び出して、そのファイル上にGoogle Mapの呼び出しを書いていたんだけども、setCenterで設定した座標と全く違う場所が表示される。
また、Firefox2だとFirefox2が画像の読み込みを制御して地図の一部分が表示されないなんてことになってしまう。
解決策は、親windowのiframeを監視しておいてdisplayプロパティがblockに変更された時点でgoogle mapの設定を行う。
var check_flame_set = function(){
if(!parent.document.getElementById("TB_window")){
clearInterval(timerID);
show_map();
}else if(parent.document.getElementById("TB_window").style.display=="block"){
clearInterval(timerID);
show_map();
}
}
var timerID = setInterval(check_flame_set, 500);
var show_map = function(){
//ここでnew GMap2を行う
}
ここにたどり着くのに、予想外の時間がかかりすぎたのは内緒です。

コメントする