• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:googleMapについて)

googleMapについて

このQ&Aのポイント
  • 現在フォトビューワーを作っております。フリッカーからジオタグ付きの画像を取得し、最新から15枚をサムネイル表示。サムネイルをクリックすると拡大画像が表示され、拡大画像をクリックすると、ジオタグのグーグルマップが表示されるというものです。拡大画像をクリックした際、マップの一部分が灰色になり、まともに表示されない場合がある。
  • 問題は、拡大画像をクリックした際、マップの一部分が灰色になり、まともに表示されない場合がある。一度マップを表示してから、サムネイルクリック→拡大画像クリック→の流れだと、マップは正常に表示されます。
  • 調べていく中で.css({display:"none"});があると発生するという事も知り、色々と試したのですが、どうにも上手くいきません。説明下手で申し訳ないのですが、どなたかご教示いただけないでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

だいぶ前にテストしてみた記憶なので、少々あやふやですが… display:noneの要素に対してmapのセッティングをしてロードするとうまく表示できないみたいです。 画面上で見せたくない場合は、  1)visibility:hiddenを利用して非表示にする  2)ネガティブマージンなどを利用して要素を一時的に画面外に置く  3)z-index指定他で他の要素の下において見えない状態にする などの方法で見えない状態になっている場合は、mapが表示できたように記憶しています。 (やや曖昧な記憶なので、ご自身で再度ご確認ください) どのような文書構造とレイアウトなのかはわかりませんが、状況に応じてdisplay:none以外の方法を使用すれば安定して表示可能にできるものと思います。 一方で、ライブラリ(jQueryか?)をご利用なさっているようですが、fadeOut()などの結果display:noneに設定されてしまう可能性がありますのでご注意を。(←こちらも未確認ですが…)

gaomura
質問者

お礼

ありがとうございます! display:noneをvisibility:hiddenに変更し、最後の$("#googleMap").fadeIn("slow")に.css({visibility:""});を追加したらいけました! おっしゃる通り、jQueryを使用しています。 display:noneだけでなくfadeOut()も外すことで機能するようになりました。 本当にありがとうございました!

関連するQ&A