ポリゴン上にマウスが乗ったら色を変える

説明

ポリゴン上にマウスが乗ったら色を変えるにはgoogle.maps.event.addListener()を使ってポリゴンにマウスイベントを設定します。マウスオーバーであればgoogle.maps.event.addListener()の2番目のパラメータに"mouseover"を指定します。マウスが離れた時にも処理したい場合にはさらにgoogle.maps.event.addListener()を使って定義します。google.maps.event.addListener()の最初のパラメータにはイベントを設定したいポリゴンオブジェクトを指定します。3番目のパラメータにはイベントが発生した際に呼び出される関数(イベントハンドラ)を指定します。イベントハンドラ内ではポリゴンオブジェクトのsetOptions()メソッドを利用しポリゴン内の色を変えます。setOptions()を使ってfillColorプロパティにカラーコードを設定することでポリゴン上にマウスが乗った時にポリゴン内の色を変更することができます。

Google Maps APIプログラミング入門 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 myPolygon = new google.maps.Polygon({
path: [
new google.maps.LatLng(35.689160610317174, 139.70083951950073),
new google.maps.LatLng(37.689160610317174, 139.70083951950073),
new google.maps.LatLng(36.689160610317174, 138.70083951950073)
],
fillColor: "#ff8"
});
myPolygon.setMap(map);
google.maps.event.addListener(myPolygon, "mouseover", function() {
myPolygon.setOptions({ fillColor : "#f00" });
});
google.maps.event.addListener(myPolygon, "mouseout", function() {
myPolygon.setOptions({ fillColor : "#ff8" });
});
</script>
</body>
</html>