スマートフォンでのGoogleMap埋め込みとGoogleStaticMap

普通にやるならv3でも問題なし。
但しインターフェイスタブ等で非表示から表示させる場合うまく表示されない(グレーになる)

要はサイズが取得できていないということらしい。なので設定すればいいのですがv3だとそれをやる方法がわからなかったのでv2に変更
以下のようにして使う。load時にでもセットすればよいか。
function mapSetup() {
    if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("マップを埋め込むID"),{size:new GSize(横,縦)});
        map.setCenter(new GLatLng(緯度, 経度), ズームレベル);
        var point = new GLatLng(緯度, 経度);
        var marker  = new GMarker(point);
          map.addOverlay(marker); 
          map.addControl(new GLargeMapControl());
          map.addControl(new GScaleControl());                   
    }
}

この時、divタグに埋め込むわけですがCSSのoverflowの設定をデフォルト(visible)にしておかないと画面は灰色で地図が表示されないので注意。

とりあえず表示されるのだがAndroidでみると若干ぼやけて見えてしまう。
pixel ratioの影響(Androidは1.5)?
それにスマートフォン上で大サイズでMAPをフリックしてしまうと同じページでMAP以外の所に移動できない。

ということで地図を画像にして詳細は別ウインドウでGoogleMapにリンクするするのが妥当だと思います。
その地図を画像にして表示してくれるのが「Google Static Map」。
要は画像化したURLをimgタグのsrcにセットするというもの
以下のページで詳しく説明されていますしURL生成できます。

Google Static Mapウィザード

[`evernote` not found]
Pocket
[`yahoo` not found]