2016-09-30 21 views
0

以下のコードは、Bing Maps REST APIを呼び出すためにURL jsonpを自動的に生成します。しかし、公差パラメータはモジュールによって定義されます。送信するカスタム許容差を定義するにはどうすればよいですか?Bing Maps v8 - DirectionsManagerモジュールを使用して許容差(tl)を設定または削除するにはどうすればよいですか?

(モジュールによって定義される)耐性パラメータ: TL:4.5263499577364666e-7,0.0000036210799661891733,0.000028968639729513386,0.0002317491178361071,0.0018539929426888567,0.014831943541510854,0.11865554833208683

(モジュールによって生成された)全URL:https://dev.virtualearth.net/REST/v1/Routes/driving?key=AuohX_nFB0n9SozQUluVxFiJ3lHUMgNWDxt29NLz0fwqCKBZ32QJOwuh1lhtKaLK&o=json&jsonp=Microsoft.Maps.NetworkCallbacks.f98696&c=pt-BR&fi=true&wp.0=47.67683029174805,-122.1099624633789&wp.1=47.59977722167969,-122.33458709716797&tl=4.5263499577364666e-7,0.0000036210799661891733,0.000028968639729513386,0.0002317491178361071,0.0018539929426888567,0.014831943541510854,0.11865554833208683&optmz=timeWithTraffic&du=km&dt=9/30/2016%2010:54:00&tt=departure&maxSolns=3&rpo=Points

var map = new Microsoft.Maps.Map(document.getElementById('myMap'), { 
    credentials: 'Your Bing Maps Key', 
    center: new Microsoft.Maps.Location(47.606209, -122.332071), 
    zoom: 12 
}); 

Microsoft.Maps.loadModule('Microsoft.Maps.Directions', function() { 
    var directionsManager = new Microsoft.Maps.Directions.DirectionsManager(map); 

    // Set Route Mode to driving 
    directionsManager.setRequestOptions({ routeMode: Microsoft.Maps.Directions.RouteMode.driving }); 

    var waypoint1 = new Microsoft.Maps.Directions.Waypoint({ address: 'Redmond', location: new Microsoft.Maps.Location(47.67683029174805, -122.1099624633789) }); 
    var waypoint2 = new Microsoft.Maps.Directions.Waypoint({ address: 'Seattle', location: new Microsoft.Maps.Location(47.59977722167969, -122.33458709716797) }); 

    directionsManager.addWaypoint(waypoint1); 
    directionsManager.addWaypoint(waypoint2); 

    // Set the element in which the itinerary will be rendered 
    directionsManager.setRenderOptions({ itineraryContainer: document.getElementById('printoutPanel') }); 
    directionsManager.calculateDirections(); 
}); 

Bing Maps DirectionsManager Docs: https://msdn.microsoft.com/en-US/library/mt748655.aspx

答えて

0

許容値を設定することも、必要なこともありません。デフォルト設定の最小許容値は、ルーティングサービスがルートに対して提供するすべての座標を返します。 V8シェイプのパフォーマンスが方向機能が作成されて以来大幅に改善されて以来、私は許容値を一括して取り除くことができるかどうかを見極めるつもりです。

+0

私のケースでは、公差は私のitineraryItemsオブジェクトからいくつかの座標を削除します。ルートから3kmごとに(緯度、経度)の位置を計算し、押しピンを追加するためにはすべての座標が必要です。 distance itineraryItemsオブジェクトの座標を使用すると、離れたドラッグポイントが存在するときに距離計算機がクラッシュする。 (例:O ---- 3km ---- O---- 3km ---- O --- - 3km ---- O) あなたは何とかDirectionsManager経由でREST APIのjsonpレスポンスから座標を取得していますか? .resourceSets ["0"]。resources ["0"]。routePath.line.coordinates –

+1

旅行の項目と許容値は、互いに関係ありません。許容値はルートパスの複数の解像度を返します。 V8は現在、ルートパスデータを公開していません(それを描画するだけです)。これは1〜2ヶ月で今後のアップデートの1つに公開されます。今すぐ必要な場合は、REST APIを直接呼び出すことができます。 Directions Managerを使用してそのAPIを直接呼び出すことはありません。ここでは、RESTサービスを直接呼び出すV7のコードサンプルを示します。これはv8でも動作します。 https://msdn.microsoft.com/en-us/library/gg427607.aspx – rbrundritt

+0

正確に。それが私のしたことです。助けてくれてありがとう! –

関連する問題