GoogleMapで地図描画前に描画要素をdisplay:none;すると表示がおかしくなる(中心がズレて表示される)

GoogleMapAPI とか GoogleMap埋め込み などを利用している場合、MAP描画前にiFrame要素や、APIで描画仕様としているボックス要素を display: none; で表示を消してしまうと表示がおかしくなる。

べつに表示されないわけではないのだけど、地図の中心がずれたりする。この問題の回避策はJavascriptなどを利用してロード開始時には表示しておき、ロード後に非表示にするしかない。

試してみたところ、

<div style="height: 0px; overflow: hidden;">

としても地図は問題なく表示されたので、初期設定は左記ほのとおりスタイルを設定しておき、ロード後にjQueryなどで

$("div").css("height","").css("overflow","")

として初期設定を消してやればいいだろう。

1件のコメント

  1. とても助かりました!
    JSで座標を指定し再読み込みする方法は面倒なので、この方法を使わせてもらいましたところ上手くいきました。
    ありがとうございます

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です