Google Mapsに小さい地図を表示

| コメント(0) | トラックバック(0)

先日,Google Mapsの右下の小さい地図が表示されたことを紹介しました(こちら)。これをAPIで実際に実装してみることにしました。

http://web.sfc.keio.ac.jp/~tagchan/control_map.html

以下に詳しく説明しますが,とにかくこのソースをコピー&ペーストし,API Keyを自分のものにしていただけると動くと思います(v2にするのを忘れずに)。


<!-- 以下ソースコード -->

function load(){

map = new GMap2(document.getElementById("map"));

//地図の縮尺変更するメモリの追加
map.addControl(new GLargeMapControl());

//地図の切り替えボタンの表示(地図と衛星画像)
map.addControl(new GMapTypeControl());

//最初は衛星画像を表示
map.setMapType(G_SATELLITE_MAP);

//GLatLng内には緯度→経度の順に値を入れる。
//4はズームのレベル。値が大きいほど詳細
map.setCenter(new GLatLng(34.991191, 131.008739),4);

//縮尺が左下にのる(API Documentには記載されてなかった。)
map.addControl(new GScaleControl());

//GOverviewMapControlで小さい地図を呼ぶ。
//Gsize(縦px,横px)は小さい地図の枠のサイズを決める。。
map.addControl(new GOverviewMapControl(new GSize(210,200)));

//pisitionOrverviewはfunction load()の外で定義する。
//GOverviewMapControl内の値はブラウザ内での表示する絶対座標(px)。
//GOverviewMapControl(左からの座標,上からの座標)。1の値は不明。
setTimeout("positionOverview(10,530)",1);

}

//この関数はonload()の外に置くこと
function positionOverview(x,y) {

var omap=document.getElementById("map_overview");
omap.style.left = x+"px";
omap.style.top = y+"px";

//枠の太さ
omap.firstChild.style.border = "1px solid gray";

//枠からの距離(左から,上から)
omap.firstChild.firstChild.style.left="4px";
omap.firstChild.firstChild.style.top="4px";

//小さい地図のサイズGSizeの値より小さい方が望ましい。
omap.firstChild.firstChild.style.width="200px";
omap.firstChild.firstChild.style.height="190px";

}

<!-- ソースコード終了 -->

IEで表示させ,右下の矢印で閉じることができますが,いったん閉じてまた開くと,画面右下に移動してしまいます。これはFirefoxではそのようになりません。Ver2になってから,さらにIEとの相性が悪くなっているような気がします。

トラックバック(0)

トラックバックURL: http://www.tagchan.net/cgi/mt/mt-tb.cgi/20

コメントする

このブログ記事について

このページは、tagchanが2006年4月26日 23:33に書いたブログ記事です。

ひとつ前のブログ記事は「Google Mapsに別の地図画像をオーバーレイ」です。

次のブログ記事は「Livedoor地図が衛星画像を整備」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。