VEMap.DeleteRoute メソッド

現在のルート (VERoute クラス オブジェクト) をマップから消去します。

構文

VEMap.DeleteRoute();

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<script type="text/javascript" src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1"></script>

<script type="text/javascript">
var map = null;

// 初期マップ ビュー
var SeattleEastside = new VELatLong(47.65, -122.24, 0, VEAltitudeMode.Default);

function GetMap()
         {
map = new VEMap('myMap');
map.LoadMap(SeattleEastside, 8);
         }

function GetRouteMap()
         {
var locations;

if (legForm.legType[0].checked)
            {
          locations = new Array("Tacoma WA", "Seattle WA", "Everett WA");
            }
else if (legForm.legType[1].checked)
            {
locations = new Array("Tacoma WA", "Bellevue WA", "Everett WA");
            }

var options = new VERouteOptions;

// 次の行の設定を忘れずに行う必要があります。
options.DrawRoute      = true;

// マップを変更しないように設定します。
options.SetBestMapView = false;

// マップ上のルートが決定すると、次の行で指定する関数が呼び出されます。
options.RouteCallback  = ShowTurns;

// マイル単位で表示します。
options.DistanceUnit   = VERouteDistanceUnit.Mile;

// 地名の選択画面を表示します。
options.ShowDisambiguation = true;

map.GetDirections(locations, options);
         }

function ShowTurns(route)
         {
var turns = "<h3>進路変更ごとの案内</h3> (四捨五入による誤差の可能性があります)";

turns += "<p><b>距離:</b> " + route.Distance.toFixed(1) + " マイル";

turns += "<br/><b>時間:</b> " + GetTime(route.Time) + "</p>";

if (dirsForm.dirsType[0].checked)
            {
// ルートの詳細情報を取り出して、DIV タグ内に挿入します。
var legs          = route.RouteLegs;
var leg           = null;
var turnNum       = 0;  // 進路の番号

// 中間区間を取得します。
for(var i = 0; i < legs.length; i++)
               {
// 参照のたびに添え字を指定する手間を省くため、現在の区間を変数に格納します。
leg = legs[i];  // leg は VERouteLeg オブジェクトです。

var legNum = i + 1;
turns += "<br/><b>距離 (区間 " + legNum + "):</b> " + leg.Distance.toFixed(1) + " マイル" +
"<br/><b>時間 (区間 "     + legNum + "):</b> " + GetTime(leg.Time) + "<br/><br/>";

// 各中間区間の詳細情報を取り出します。
var turn        = null;  // 進路
var legDistance = null;  // 進路の距離
                  
for(var j = 0; j < leg.Itinerary.Items.length; j ++)
                  {
turnNum++;
                     
turn = leg.Itinerary.Items[j];  // turn は VERouteItineraryItem オブジェクトです。

turns += "<b>" + turnNum + "</b>\t" + turn.Text;

legDistance    = turn.Distance;

// 到着地の情報に "0.0" と表示されないようにします。
if(legDistance > 0)
                     {
// 距離を四捨五入して小数点以下 1 桁までにします。
turns += " (" + legDistance.toFixed(1) + " マイル";

// 時間情報がある場合は追加します。
if(turn.Time != null)
                        {
turns += "; " + GetTime(turn.Time);
                        }

turns += ")<br/>";
                     }
                  }

turns += "<br/>";
               }

// DIV タグ内に道順案内を挿入します。
SetDirections(turns);
            }
         }

function SetDirections(s)
         {
var d = document.getElementById("directions");
d.innerHTML = s;
         }

// time は秒単位の時間を表す整数値です。
// 適切な形式の文字列を返します。
function GetTime(time)
         {
if(time == null)
            {
return("");
            }

if(time > 60)
{                                 // time == 100 の場合
var seconds = time % 60;       // seconds == 40
var minutes = time - seconds;  // minutes == 60
minutes     = minutes / 60;    // ここで minutes == 1 になります。


if(minutes > 60)
{                                     // minutes == 100 の場合
var minLeft = minutes % 60;        // minLeft    == 40
var hours   = minutes - minLeft;   // hours      == 60
hours       = hours / 60;          // ここで hours == 1 になります。

return(hours + " 時間 " + minLeft + " 分 " + seconds + " 秒");
               }
else
               {
return(minutes + " 分 " + seconds + " 秒");
               }
            }
else
            {
return(time + " 秒");
            }
         }
        
function ClearAll()
         {
map.DeleteRoute();
SetDirections("");
map.LoadMap(SeattleEastside, 8);
         }
</script>
</head>
<body onload="GetMap();" style="font-family:MS PGothic">
<h3>Tacoma から Everett へのルートと道順案内の取得 (道順案内の取得は任意)</h3>

<div id='myMap' style="position:relative; width:400px; height:400px;"></div>

<form name="legForm">
ルート:
<br />
<input id="thruSeattle" type="radio" name="legType" checked="checked"/>
        Seattle 経由
<br />
<input id="thruBellevue" type="radio" name="legType"/>
        Bellevue 経由
</form>

<form name="dirsForm">
<input id="showdirs" type="radio" name="dirsType" checked="checked"/>
進路変更ごとの道順案内を下に表示する
<br />
<input id="showdirs" type="radio" name="dirsType"/>
進路変更ごとの道順案内を表示しない
</form>

<input id="getroutemap" type="button" value="ルート マップの取得" onclick="GetRouteMap();"/>
<input id="clear"       type="button" value="すべて消去"     onclick="ClearAll();"/>

<div id='directions'></div>
</body>
</html>