私は、Bing Maps の「道路へのスナップ」機能に取り組んでいます。私の考えでは、ユーザーが地図をクリックすると、DirectionsManager クラスがルートを計算するので、ユーザーがカーブを曲がるルートを作成したい場合でも、何度もクリックする必要はありません。2 回クリックするだけで、あとはページが処理してくれます。(ところで、誰かがこれを行うためのより良い方法を持っている場合は、私に知らせてください-これは私の最初の解決策です。)
MSDN で DirectionsManager の例を試していて、RouteLeg クラス (http://msdn.microsoft.com/en-us/library/hh312823) に関するサンプル コードを削減しました。次の基本的なコードがあります。
function directionsModuleLoaded() {
var directionsManager = new Microsoft.Maps.Directions.DirectionsManager(map);
var startWaypoint = new Microsoft.Maps.Directions.Waypoint({ location: new Microsoft.Maps.Location(42.71926499622451,-84.57241695374249) });
var endWaypoint = new Microsoft.Maps.Directions.Waypoint({ location: new Microsoft.Maps.Location(42.71390477940529,-84.5766870304942) });
directionsManager.addWaypoint(startWaypoint);
directionsManager.addWaypoint(endWaypoint);
directionsManager.calculateDirections();
}
function displayMessage(e) {
alert("The calculated route has " + e.route[0].routeLegs[0].itineraryItems.length + " direction steps.");
}
これは機能します。緯度/経度の値のペアを入力すると、「丸められた」ルートが計算されて表示されます。私が望んでいたのは、方向転換があったルートの各部分に画鋲を配置する方法でした。したがって、角を曲がるのに 3 つの小さなルートが必要な場合、画鋲が表示される各ポイントに 1 つずつ画鋲が表示されます。 2 つのセグメントが一致しました。それは可能ですか?