線を削除する

説明

GPolyline()で表示された線はマーカーと同じオーバーレイになるため、removeOverlay()、clearOverlays()を使って削除することができます。特定の線だけを削除する場合はremoveOverlay()、全ての線を削除する場合はclearOverlays()を使います。ただし、clearOverlays()を使うと他のマーカーやカスタムマーカーなども消されてしまうため注意が必要です。
逆引きGoogle Maps APIリファレンス  詳しい解説などは逆引きGoogle Maps APIリファレンス、またはGoogle Maps APIリファレンスを参照してください。

サンプルコード [実行]

<!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" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Sample</title>
<style type="text/css"><!--
v\:* { behavior:url(#default#VML); }
--></style>
<script src="http://maps.google.com/maps?file=api&v=1&key=ABQIAAAAasAJryKxWJnBFVJa487d9hTHGAxTVT7IRADYa-JdYz7xQ8IQZBSthgDZdggYpQHsmm6WYtHstQFfLA" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var polyObj = new Array();
var count = 0;
window.onload = function() {
map = new GMap(document.getElementById("gmap"));
map.centerAndZoom(gp(138, 36), 12);
}
function addLine() {
var colorList = ["#ff0000","#00ff00","#0000ff","#000030","#ffa000"];
var px1 = Math.random() * 4 + 136;
var px2 = Math.random() * 4 + 138;
var px3 = Math.random() * 4 + 140;
var py1 = Math.random() * 4 + 35;
var py2 = Math.random() * 4 + 39;
var py3 = Math.random() * 4 + 38;
var color = colorList[Math.floor(Math.random() * colorList.length)];
var points = [gp(px1, py1), gp(px2, py2) , gp(px3, py3)];
polyObj[count] = new GPolyline(points, color);
map.addOverlay(polyObj[count++]);
}
function gp(x,y) {
return new GPoint(x, y);
}
function rmPolyline() { // 最後のポリラインを削除
if (count > 0)
{
count--;
map.removeOverlay(polyObj[count]);
}
}
function clearPolyline() { // 全てのポリラインを削除
map.clearOverlays();
}
//]]>
</script>
</head>
<body>
<div id="gmap" style="width: 500px; height: 400px"></div>
<form>
<input type="button" value="ランダムにラインを表示" onClick="addLine()" />
<input type="button" value="最後の方からラインを削除" onClick="rmPolyline()" />
<input type="button" value="全てのラインを削除" onClick="clearPolyline()" />
</form>
</body>
</html>