説明
マーカーがクリックされたら情報ウィンドウ(ふきだし)を表示するにはnew google.maps.Marker()でマーカーオブジェクトを生成します。次にgoogle.maps.event.addListener()の最初のパラメーターにクリックイベントを設定したいマーカーオブジェクトを指定します。2番目のパラメーターにはイベント名であるclickの文字を、3番目のパラメータにはクリックされた時に実行する関数(イベントハンドラ)を指定します。
情報ウィンドウを表示するにはクリックされた際にnew google.maps.InfoWindow()として新たにウィンドウを生成します。その際、表示する文字列をcontentオプションに指定しておきます。contentオプションにはプレーンテキストだけでなくHTMLタグを含む文字列も指定することができます。この段階ではウィンドウは表示されませんので、new google.maps.InfoWindow()により生成されたウィンドウオブジェクトのopen()メソッドを使って表示を行います。open()メソッドには2つのパラメータが必要で、最初が表示先のマップオブジェクトで次が基準(アンカー)となるオブジェクトになります。マーカーからウィンドウを表示したい場合には2番目のパラメータにはマーカーオブジェクトを指定しておきます。
Google Maps API プログラミング入門。Google Maps API Expertである勝又雅史氏が最新のAPI ver3やGoogle Maps for Flashなどについて解説しています。
【
アマゾンで購入する】
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Google Maps API ver 3 Sample/グーグルマップAPIサンプル/Google Maps API样品</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
</head>
<body>
<div id="gmap"></div>
<script type="text/javascript">
var map = new google.maps.Map(
document.getElementById("gmap"),{
zoom : 7,
center : new google.maps.LatLng(35.689160610317174, 139.70083951950073),
mapTypeId : google.maps.MapTypeId.ROADMAP
}
);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(35.689160610317174, 139.70083951950073),
map: map
});
google.maps.event.addListener(marker, "click", function() {
var infowindow = new google.maps.InfoWindow({
content: "<b>マーカー</b>と<i>ウィンドウ</i>のサンプルです"
});
infowindow.open(map, marker);
});
</script>
</body>
</html>