08/06/22 02:23:04
ミスった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";
})
配列でマーカー管理してるのならもうちょっと複雑になるが、
この方法では画像をロードしてからバルーンが出るのでレイアウトは崩れない。
画像が重いと開くまで一瞬時間がかかるけど。
マーカーが少ないなら全部プリロードしてしまうのも良いかもね
906:nobodyさん
08/06/22 02:24:24
あ、thisじゃとれんね。
GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){m.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})
907:902
08/06/22 11:24:36
>>903-906
丁寧にどうもです。
マーカーは20個以上あるので配列使って配置する中で単純に<IMG>タグのみで
作ってました。
HTML生成が先ということは、最悪<TABLE>タグを使ってheight指定してあげればレイアウトは保持されるということで合ってますかね?
画像は240*180でほぼ固定なのでこっちのほうが面倒は無いかなと思ったのですが。
プリロードの件、参考になりました。
今回は急を要した話だったので、今後もう少し知識付けてから参考にさせていただきます。
ありがとうございました。
908:nobodyさん
08/06/22 17:36:28
単純に image タグでいいんだが、何でtableタグを使おうとしているんでしょうか?
<img src="image01.jpg" width="240" height="180" alt="image01">
「保持されるという事で合ってますか」とか聞く前に試してみればいいと思うんだが?
レス書いた文字数より遥かに少ないキータッチで確認できるのに(w
あと、width属性が原因かどうかは誰にも分からんよ。元の質問が「崩れる時がある」なんて情報不足も甚だしい。
真面目なレスが来ただけで奇蹟と思わないと。
HTMLの知識より先に身につける事があるんじゃね?
909:nobodyさん
08/06/22 18:17:49
>>907
わざわざtableタグ使わなくても>>908のようにimgタグで十分だと思う
imgもheightやwidth指定できるし。
web上でタグとか独習してるのなら、すぐ手元で引けるHTML辞典とか買っておいた方がいいよ。
サンプルも掲載されてるからイメージ掴みやすいだろうし。
情報不足ってか、再現性が無いから崩れるときがあるって書き方したんじゃね?
そんな喧々しなくていいと思うけど。
…ただ複数のブラウザで試すとか、不具合でたブラウザくらいは書いてもいいと思ったけどな。
910:nobodyさん
08/06/23 10:04:53
srcがDBかなんかから引っ張るからwidth heightがとれないってことじゃないの?
大枠でブロックでスペース切っとくのもいいと思うけどな
ただ、tableだとブラウザによってはheight解釈しないからdivのほうがいいぞ
ちなみに908が馬鹿なこと言ってるけど
この現象はすでに報告されている
911:nobodyさん
08/06/24 00:18:26
>>910
バルーン表示時にwidth を指定していないとレイアウトが崩れるのは既知のトラブルですが、
「レイアウトが崩れた」原因が全て width, height 属性とは限らないのでは?
902 の質問は「表示が崩れる事がある」「リロードすると治る」としか書いてないので、width 属性以外の原因も想定するのは当たり前だと思うんだが。
「トラブルの原因は既知である」と信じ込むのは個人の自由だけどね。
912:nobodyさん
08/06/24 00:43:05
>>911
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろw
913:nobodyさん
08/06/24 01:46:54
独り言だが、
Google Maps API は日夜バージョンアップされるので、最新バージョンで一時的に不具合が出るのはよくある。
古いバージョンのバルーンだと外側の角丸部とコンテンツの四角部に 1px の隙間が空いて表示される時期があった。
バルーン内の長文テキストに nowrap 属性を付けないとレイアウトが乱れるブラウザもあったと聞く。
「そのトラブル、俺知ってるぜ」と断定するより、色んな可能性を考えた方が楽しいよな。
914:nobodyさん
08/06/24 11:57:25
>>913
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろww
915:nobodyさん
08/07/02 01:24:38
ジオコーディングによる住所検索をして、マップを
サブウィンドウに表示させるようにしてますが、
ジオコーディングのコールバック関数が呼ばれる前に
サブウィンドウを閉じられるとエラーとなってしまいます。
ジオコーディングをキャンセルする方法又は、ジオコーディング側の
例外をキャッチする方法はありませんでしょうか。
因みにGUnloadでは駄目でした。
916:nobodyさん
08/07/02 12:13:36
コールバック関数の中で
サブウィンドウの(サブウィンドウのなかのGMAP)の存在を
チェックすればエラーにはならんとおもうよ
エラーハンドルで済ませたいなら
try catch したらいいだけじゃないか
917:nobodyさん
08/07/04 09:38:47
最近 googlemap + IE7でエラーがでるようになりました。
また、FIREFOX3でも別のエラーが出ています。
情報が少なくて困っているのですが、何かいい方法はないでしょうか・・・