Search

Google Maps JavaScript APIバージョン2は廃止され、バージョン3に移行しました。
» Google Maps JavaScript API v3の解説はこちら!

地図の表示サイズを取得

2008/5/5

GMap2.getSize()

GMap2クラスのgetSize()メソッドは、地図の表示サイズをピクセル値で返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        var map=new GMap2(document.getElementById("map"));
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319), 14);
        /* 地図サイズ(ピクセル単位)を取得 */
        var size=map.getSize();
        document.getElementById("res").value="幅(width):"+size.width+"\n高さ(height):"+size.height+"\n文字列として取得:"+size.toString();
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    【地図サイズ】<br>
    <textarea cols="64" rows="2" id="res"></textarea>
</form>

地図の矩形領域の地理座標を取得

2008/5/5

GLatLngBounds([sw[, ne]])
GLatLngBounds.getSouthWest()
GLatLngBounds.getNorthEast()
GLatLngBounds.getCenter()
GLatLngBounds.toSpan()

地図の南西(左下)と北東(右上)の2つの頂点から成る矩形領域を設定するには、GLatLngBoundsクラスを使用します。

GLatLngBoundsコンストラクタは、GLatLngBoundsクラスのインタンスを生成します。 オプションの第1引数swには、南西の地理座標を指定します。 オプションの第2引数neには、北東の地理座標を指定します。

GLatLngBoundsクラスのgetSouthWest()メソッドは、矩形領域の南西(左下)の頂点の地理座標を返します。

GLatLngBoundsクラスのgetNorthEast()メソッドは、矩形領域の北東(右上)の頂点の地理座標を返します。

GLatLngBoundsクラスのgetCenter()メソッドは、矩形領域の中心地点の地理座標を返します。

GLatLngBoundsクラスのtoSpan()メソッドは、矩形領域のサイズを表す座標を含む地理座標を返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map, bounds;
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        map=new GMap2(document.getElementById("map"));
        /* ピクセル座標 */
        var latlng=new GLatLng(35.665246,139.712319);
        /* 中心地点 */
        map.setCenter(latlng, 16);

        /* コントロール追加 */
        map.addControl(new GLargeMapControl()); /* コントロール大 */
        map.addControl(new GMapTypeControl()); /* 地図タイプコントロール */
        map.addControl(new GOverviewMapControl()); /* 概観地図 */

        /* 南西・北東の地理座標を取得 */
        fGetLatlng();

        GEvent.addListener(map, "moveend", function() {
            fGetLatlng();
        });
    }
}
/* 南西・北東の地理座標を取得 */
function fGetLatlng(){
    bounds=map.getBounds();
    var sw=bounds.getSouthWest(); /* 南西の地理座標(左下) */
    var ne=bounds.getNorthEast(); /* 北東の地理座標(右上) */
    var span=bounds.toSpan(); /* 矩形のサイズを表す座標を含む地理座標 */
    var ce=bounds.getCenter(); /* 矩形領域の中心地点 */
    var s="";
    s+="【南西の地理座標(左下)】\n緯度:"+sw.lat()+"/経度:"+sw.lng()+"\n文字列として取得:"+sw.toString()+"\n\n";
    s+="【北東の地理座標(右上)】\n緯度:"+ne.lat()+"/経度:"+ne.lng()+"\n文字列として取得:"+ne.toString()+"\n\n";
    s+="【矩形のサイズを表す座標を含む地理座標)】\n緯度:"+span.lat()+"/経度:"+span.lng()+"\n文字列として取得:"+span.toString()+"\n\n";
    s+="【矩形領域の中心地点)】\n緯度:"+ce.lat()+"/経度:"+ce.lng()+"\n文字列として取得:"+ce.toString();
    document.getElementById("res").value=s;
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div>
<form action="#">
    <textarea cols="64" rows="14" id="res" style="width:421px;"></textarea>
</form>

地図が読み込まれているか調べる

2008/5/5

GMap2.isLoaded()

GMap2クラスのisLoaded()メソッドは、地図が読み込まれているかを調べます。
地図が読み込まれている場合にTRUE、読み込まれていない場合にFALSEを返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        var map=new GMap2(document.getElementById("map"));
        /* ★地図が完全に読み込まれているか調べる */
        document.getElementById("res").value=map.isLoaded()+"\n";
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319),14);
        /* ★地図が完全に読み込まれているか調べる */
        document.getElementById("res").value+=map.isLoaded()+"\n";
        /* マーカー追加 */
        var marker=new GMarker(map.getCenter());
        map.addOverlay(marker);
        /* ★地図が完全に読み込まれているか調べる */
        document.getElementById("res").value+=map.isLoaded();
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    <textarea cols="64" rows="2" id="res" style="width:421px;"></textarea>
</form>

指定領域が収まるズーム範囲を取得

2008/5/5

GMap2.getBoundsZoomLevel(bounds)

GMap2クラスのgetBoundsZoomLevel()メソッドは、指定範囲に地図が収まるズームレベル(倍率)を返します。 ズームレベルは、現在選択されている地図タイプに合わせて計算されます。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map, zoom;
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        map=new GMap2(document.getElementById("map"));
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319), 14);
        /* 範囲(新宿駅、恵比寿駅) */
        var rectObj=new GLatLngBounds(new GLatLng(35.691034,139.70026), new GLatLng(35.6468,139.710109));
        /* 現在のズームレベルを取得 */
        document.getElementById("cur").value=map.getZoom();
        /* 指定範囲に地図が収まる倍率を取得 */
        zoom=map.getBoundsZoomLevel(rectObj)
        document.getElementById("res").value=zoom;
        document.getElementById("btn").disabled=false;
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    <p>
        現在のズームレベル(倍率):<input type="text" size="8" id="cur" /><br>
        指定範囲に地図が収まるズームレベル(倍率):<input type="text" size="8" id="res" />
    </p>
    <p>
        <input type="button" onclick="map.setZoom(zoom);document.getElementById('cur').value=map.getZoom();" id="btn" value="指定範囲に収まるようにズームレベル変更" disabled="disabled" />
    </p>
</form>

地図の表示範囲の地理座標を取得

2008/5/5

GMap2.getBounds()

GMap2クラスのgetBounds()メソッドは、地図の表示範囲の地理座標を返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        var map=new GMap2(document.getElementById("map"));
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319), 14);
        /* ★地図の表示範囲の地理地点を取得 */
        var bounds=map.getBounds();
        var sw=bounds.getSouthWest();
        var ne=bounds.getNorthEast();
        /* ★地図の表示範囲の地理地点を取得 */
        var s="";
        s+="左下の緯度:"+sw.lat()+"\n左下の緯度:"+sw.lng()+"\n\n";
        s+="右上の緯度:"+ne.lat()+"\n右上の緯度:"+ne.lng()+"\n\n";
            s+="文字列として取得:"+bounds.toString();
        document.getElementById("res").value=s;

        /* 地図を動かした時 */
        GEvent.addListener(map, "moveend", function(){
            bounds=map.getBounds();
            sw=bounds.getSouthWest();
            ne=bounds.getNorthEast();
            /* ★地図の表示範囲の地理地点を取得 */
            s+="左下の緯度:"+sw.lat()+"\n左下の緯度:"+sw.lng()+"\n\n";
            s+="右上の緯度:"+ne.lat()+"\n右上の緯度:"+ne.lng()+"\n\n";
            s+="文字列として取得:"+bounds.toString();
            document.getElementById("res").value=s;
        });
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    【地図の表示範囲の地理座標】<br>
    <textarea cols="64" rows="7" id="res"></textarea>
</form>

地図のズームレベルを取得

2008/5/5

GMap2.getZoom()

GMap2クラスのgetZoom()メソッドは、地図の現在のズームレベル(倍率)017の整数で返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map;
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        map=new GMap2(document.getElementById("map"));
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319), 16);
        /* コントロール追加 */
        map.addControl(new GLargeMapControl()); /* コントロール大 */
        /* 地図のズームレベル(倍率)を取得 */
        document.getElementById("res").value=map.getZoom();

        /* ズームレベルを変更した時 */
        GEvent.addListener(map, "zoomend", function(){
            /* 地図のズームレベル(倍率)を取得 */
            document.getElementById("res").value=map.getZoom();
        });
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    地図の現在のズームレベル(倍率):<input type="text" size="10" id="res" />
</form>

地図の中心地点の地理座標を取得

2008/5/5

GMap2.getCenter()

GMap2クラスのgetCenter()メソッドは、地図の中心地点の地理座標を返します。

サンプルを見る
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAvABrzCnRluKK0Cj97fTMThTNR7aHVSEFb0WbViWwc6F-_w9PjBSogZu_7UgOTbx25ka46X-fnGmyvw" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
function load() {
    if(GBrowserIsCompatible()){
        /* 地図インスタンス生成 */
        var map=new GMap2(document.getElementById("map"));
        /* 中心地点 */
        map.setCenter(new GLatLng(35.665246,139.712319), 14);
        /* コントロール追加 */
        map.addControl(new GLargeMapControl()); /* コントロール大 */
        map.addControl(new GMapTypeControl()); /* 地図タイプコントロール */
        /* マーカー追加 */
        var icon=new GIcon();
        icon.image="/content/img/ajax/googlemap/cross.png";
        icon.iconSize=new GSize(126, 126);
        icon.iconAnchor=new GPoint(63, 63);
        var marker=new GMarker(map.getCenter(), icon);
        map.addOverlay(marker);
        /* ★地図の中心地点の地理座標を取得 */
        var center=map.getCenter();
        document.getElementById("res").value="緯度: "+center.x+"\n経度: "+center.y+"\n文字列として取得:"+center.toString();

        /* 地図を動かした時 */
        
        GEvent.addListener(map, "moveend", function(){
            /* マーカー削除 */
            map.clearOverlays();
            /* マーカー追加 */
            marker=new GMarker(map.getCenter(), icon);
            map.addOverlay(marker);
            /* ★地図の中心地点の地理座標を取得 */
            center=map.getCenter();
            document.getElementById("res").value="緯度: "+center.x+"\n経度: "+center.y+"\n文字列として取得:"+center.toString();
        });
    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map" style="width:425px;height:300px"><!-- 地図描画領域 --></div><br>
<form action="#">
    【地図の中心地点の地理座標】<br>
    <textarea cols="64" rows="2" id="res" style="width:421px;"></textarea>
</form>

関連コンテンツ

Q. このサイトの情報はお役に立ちましたでしょうか?

投票する 投票結果を見る

管理人に【web拍手】を送るweb拍手(1行メッセージも送れます♪)

pagetop

polarized women