Hatena::ブログ(Diary)

ゆず日記

2010-11-25

埋め込みGoogle マップの座標がズレる場合のメモ。

WebサイトにGoogle マップを埋め込んでいたんだけど、何故かデフォルト座標がずれてハマったのでメモ。

原因は、要素が非表示の状態でGoogle マップの埋め込みHTMLが読み込まれていると発生するらしい。

どうやら、display: none; がダメ。



ダメな例

// HTMLソース

<div id='google'><iframe>コピペ部分</iframe></div>

// 外部JS(jQuery)

$(function(){
    $('#google').hide();

    $('#button').click(function(){
        $('#google').show();
    });
});



いい例

// HTMLソース

<div id='google'> </div>

// 外部JS(jQuery)

$(function(){
    $('#google').hide();

    $('#button').click(function(){
        $('#google').show().html('<iframe>コピペ部分</iframe>');
    });
});

簡単なブラウザ毎の挙動

ブラウザ挙動
Google Chrome
Mozilla Firefox×
Opera

なまじOperaだけまともに表示される所為で、原因の特定が困難に。

jQueryでお手軽デザインしていると尚更。

もしGoogle マップを埋め込んで座標がずれたら、埋め込む際に要素が非表示になってないか確認してみる価値はあるかと。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/Yuzuemon/20101125/1290685399