<script src="http://maps.google.com/maps?file=api&v=2&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>