Virtual Earth Map Control 6.1 ではこれまでの自動車用 道案内 機能に徒歩による道案内の機能も追加されました。また、中継地点も設定が可能になり最大で23箇所の中継点が指定できます。この機能は進路変更ごとに右左折などの情報を教えてくれます。
ただし、そもそも日本では自動車の道案内自体がサポートされていませんので関係なかったりします。
使い方はVEMapのGetDirectionsメソッドを呼び出します。引数には、出発地点~中継地点~目的地の名称(文字列)または経緯度(VELatLong)の配列、VERouteOptionsオブジェクトです。徒歩の場合、VERouteOptions.RouteModeプロパティにVERouteMode.Walkingを指定します。
日本でも一応なにかしら動作しているのですが、おかしな結果になりますね。また徒歩のオプションを指定しても所要時間が自動車のものになり無効なようです。
コードはこんな感じ。Walking Directions Sample in VE 6.1 にあるルートを使用するときちんと徒歩と車では違うルートになります。コードでは省略していますが(これでも動きまいす)、経路の取得成功や右左折情報を知るにはコールバック関数を使います。
var map = null;
function pageLoaded() {
map = new VEMap("myMap");
map.LoadMap();
var locations = new Array("枚方市駅", "樟葉駅");
//var locations = new Array("1535 Broadway, New York, NY", "1166 Avenue Of The Americas, New York, NY");
var options = new VERouteOptions;
options.RouteMode = VERouteMode.Walking; // 徒歩の経路表示
options.DistanceUnit = VERouteDistanceUnit.Kilometer;
map.GetDirections(locations, options);
}
出発~目的地の合計の距離が16km以上のものは徒歩の経路はでません。また、高速道路は経路に使用されないようです(当たり前!)。でも、一方通行の道も使用されなかったり、フェリーなどの経路は出たりするらしい。
この道案内機能ですが、Virtual Earthがサポートしている言語・国のうち、この道案内をサポートしていないのは日本だけのようです。うーむ。