トップページphp
983コメント300KB

Google Maps API 質問箱

レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん2005/07/21(木) 12:52:31ID:zMECXA3l
Google Maps API関係はこちらで質問して!
0903nobodyさん2008/06/21(土) 12:05:15ID:???
>>902

当て推量だけどimgタグを使っていてwidthとheightを指定していないってオチじゃないか?
画像を読み込む前はイメージのサイズがわからないのでレイアウトが崩れる。
一度読み込むとキャッシュに残っているのでサイズは既知。

仕様と言えば仕様だが。
0904nobodyさん2008/06/22(日) 02:10:21ID:???
>>902
<IMG>タグを使って height 指定をしていない場合で画像の高さによってレイアウトが
0905nobodyさん2008/06/22(日) 02:23:04ID:???
ミスった904の続き

<IMG>タグを使って height 指定をしていない場合で画像の高さによって
全体の高さが変わる場合は崩れる仕様。
これはバルーン内のHTMLが形成された後に画像がロードされるから。

903が言うようにheightを指定するのが一番いいが結構面倒。

javascriptの仕様では直前にheightをとろうとしても失敗することがおおいので以下のようにすればヨロシ

GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){this.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})

配列でマーカー管理してるのならもうちょっと複雑になるが、
この方法では画像をロードしてからバルーンが出るのでレイアウトは崩れない。

画像が重いと開くまで一瞬時間がかかるけど。

マーカーが少ないなら全部プリロードしてしまうのも良いかもね
0906nobodyさん2008/06/22(日) 02:24:24ID:???
あ、thisじゃとれんね。

GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){m.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})
レス数が900を超えています。1000を超えると表示できなくなるよ。