説明
マップ上の特定のイベントを一括して削除するにはGEvent.clearListeners()を使います。最初のパラメータにはイベントを削除するマップを指定します。二番目のパラメータには削除するイベント名を指定します。GEvent.removeListener()は設定した1つのイベントしか削除できませんが、GEvent.clearListeners()では同じイベントが複数設定されている場合でも全て削除されます。
<!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>Sample</title>
<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAasAJryKxWJnBFVJa487d9hTHGAxTVT7IRADYa-JdYz7xQ8IQZBSthgDZdggYpQHsmm6WYtHstQFfLA" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var msgObj;
window.onload = function() {
msgObj = document.getElementById("result");
map = new GMap(document.getElementById("gmap"));
map.centerAndZoom(new GPoint(138, 37), 11);
map.addControl(new GLargeMapControl());
GEvent.addListener(map, "move", function(){ msgObj.innerHTML += "moveイベント1発生<br>"; } );
GEvent.addListener(map, "move", function(){ msgObj.innerHTML += "moveイベント2発生<br>"; } );
GEvent.addListener(map, "click", function(){ msgObj.innerHTML += "clickイベント発生<br>"; } );
}
function clrEvent() {
GEvent.clearListeners(map, "move");
}
//]]>
</script>
</head>
<body>
<div id="gmap" style="width: 500px; height: 400px"></div>
<form>
<input type="button" value="全moveイベント削除" onClick="clrEvent()" />
</form>
<div id="result"></div>
</body>
</html>