最近googleMapsAPIで地図を使った研究をしているのですが、
windowサイズを変えたり、ページ下段にFirebugを表示した際に要素のサイズを変える処理が欲しくなりました
javascriptではonload(ページ読み込み時のイベント)や、
onresize(ページ領域変更時のイベント)が用意されています
これらを使ったサンプルがこちら(Firefox3.5でしか試してません)
id=map_elementをページの半分にだけ表示します
JAVASCRIPT:
-
window.onload = function(){
-
//コメント部はgoogleMapsAPIを使用している場合
-
//mapの初期化処理は省略
-
//map = new GMap2($("map_element"));
-
setHalfSize();
-
}
-
window.onresize = function(){
-
//var center = map.getCenter();
-
//var point = new GLatLng(center.lat(), center.lng());
-
setHalfSize();
-
//checkResizeを呼んでサイズ変更をAPIに通知しておくと、その後の移動を宜しくやってくれる
-
//map.checkResize();
-
//map.panTo(point);
-
}
-
function setHalfSize(){
-
$('map_element').style.width = innerWidth / 2;
-
$('map_element').style.height = innerHeight;
-
}
ようはページ読み込み時とページ内領域サイズ変更時にサイズがfitするような処理を仕込めばいいことになります
googleMapsの場合は中心位置もサイズに合わせて維持させてやると使いやすくなると思います
blog@slightlyblue: GoogleMapsブラウザリサイズ時のイベント処理でcheckResizeする!
を参考にmapの中央位置をリサイズ後も維持出来るようにしました
googlemaps, JavaScript