例-5:地図外のリンクをクリックしたら、地図内に吹き出しを表示する
|
|
![]() 国会議事堂 ![]() 外務省 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example</title>
<script src="http://maps.google.co.jp/maps?file=api&v=2&sensor=false&key=[あなたのAPIキー]" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
//マーカーを記憶しておくための配列
var marker_list=[];
function load() {
if (GBrowserIsCompatible()) {
//地図を作成
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(35.677335,139.746613), 16);
//国会議事堂にマーカを作成
var txt="<CENTER><IMG hspace=5 src='/img/example_5-1.jpg' vspace=5><BR>国会議事堂</CENTER>";
marker_list['国会議事堂'] = addMarker(35.676148,139.74479, txt);
map.addOverlay(marker_list['国会議事堂']);
//外務省にマーカを作成
txt="<CENTER><IMG hspace=5 src='/img/example_5-2.jpg' vspace=5><BR>外務省</CENTER>";
marker_list['外務省'] = addMarker(35.674903,139.749565, txt);
map.addOverlay(marker_list['外務省']);
}
}
function addMarker(lat, lng, txt){
//経度・緯度を作成
var latlng = new GLatLng(lat, lng);
//マーカーを作成
var marker = new GMarker(latlng);
//クリックされたら、吹き出しを開く
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(txt);
});
return marker;
}
function clickMarker(index){
//吹き出しを表示する
//(擬似イベント:"click" をマーカーに対して発生させることで、吹き出しを開く)
GEvent.trigger(marker_list[index], "click");
}
//]]>
</script>
</head>
<body onload="load()" onunload="GUnload()">
<table>
<tbody>
<tr>
<td>
<div id="map" style="width: 500px; height: 500px;">
</div>
<br>
</td>
<td align="center">
<a onclick="clickMarker('国会議事堂');" href="javascript:void(0);">
<img src="/img/example_5-1.jpg">
<br>
国会議事堂
</a>
<br>
<br>
<a onclick="clickMarker('外務省');" href="javascript:void(0);">
<img src="/img/example_5-2.jpg">
<br>
外務省
</a>
</td>
</tr>
</tbody>
</table>
</body>
</html>




