PHP & JavaScript Room :: 設置サンプル

実行結果

ソース

<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 latlng=new GLatLng(35.665246,139.712319);

        /* クロスアイコン */
        var icon=new GIcon();
        icon.image="/content/img/ajax/googlemap/cross.png";
        icon.iconSize=new GSize(126, 126);
        icon.iconAnchor=new GPoint(63, 63);
        
        /* 他の地図に連動して動かされているかどうか */
        GMap2.prototype.mymap = { movedByOther : false };

        /*
            地図1
        ***********************************/
        var map1=new GMap2(document.getElementById("map1")); /* 地図インスタンス生成 */
        map1.setCenter(latlng, 10); /* 中心地点 */
        var marker1=new GMarker(map1.getCenter(), icon); /* マーカー追加 */
        map1.addOverlay(marker1);

        /*
            地図2
        ***********************************/
        var map2=new GMap2(document.getElementById("map2")); /* 地図インスタンス生成 */
        map2.setCenter(latlng, 14); /* 中心地点 */
        var marker2=new GMarker(map2.getCenter(), icon); /* マーカー追加 */
        map2.addOverlay(marker2);
        map2.addControl(new GLargeMapControl()); /* コントロール大 */
        map2.addControl(new GMapTypeControl()); /* 地図タイプコントロール */

        /* イベント追加(地図の倍率を変更した時) */
        GEvent.addListener(map1, "zoomend", function(){
            map2.setCenter(map1.getCenter(), 14); /* 中心地点 */
        });
        GEvent.addListener(map2, "zoomend", function(){
            map1.setCenter(map2.getCenter(), 10); /* 中心地点 */
        });

        /* イベント追加(地図を動かした時) */
        GEvent.addListener(map1, "move", function(){
            if(map2.mymap.movedByOther==true) return;
            map2.mymap.movedByOther=true;
            map1.clearOverlays();
            map2.clearOverlays();
            marker1=new GMarker(map1.getCenter(), icon);
            marker2=new GMarker(map1.getCenter(), icon);
            map1.addOverlay(marker1);
            map2.addOverlay(marker2);
            map2.setCenter(map1.getCenter(), 14); /* 中心地点 */
            map2.mymap.movedByOther=false;
        });
        GEvent.addListener(map2, "move", function(){
            if(map1.mymap.movedByOther==true) return;
            map1.mymap.movedByOther=true;
            map1.clearOverlays();
            map2.clearOverlays();
            marker1=new GMarker(map2.getCenter(), icon);
            marker2=new GMarker(map2.getCenter(), icon);
            map1.addOverlay(marker1);
            map2.addOverlay(marker2);
            map1.setCenter(map2.getCenter(), 10); /* 中心地点 */
            map1.mymap.movedByOther=false;
        });

    }
}
window.onload=load;
window.unload=GUnload;
//]]>
</script>
<div id="map1" style="width:225px;height:150px"><!-- 地図描画領域(広域図) --></div>
<div id="map2" style="width:425px;height:300px"><!-- 地図描画領域(詳細図) --></div>

polarized women