-1

私はいくつかのウェイポイントA、B、C、Dを持つルートを持っています... 私はこのルートの最短距離をすべて同じ順序でウェイポイントを設定します。複数のウェイポイントを持つルートと最短(最短ではない)の距離をGoogle Maps APIから取得

私はウェイポイントの順序を最適化したくありません。私はちょうど最短ルートを取得したい。 Google Distance Apiは私にの最速ルートを与え、最短ではありません。

Googles Direction APIは私にすべてのルートを与えてから最短ルートをフィルタリングできますが、これに対しては2つのループを作成する必要があります。ウェイポイント(A〜B、B〜C、C〜D)と各レッグループを通過して可能なルートを通って最短距離を見つけるループ。

これを行うには、より優れたよりエレガントな方法があるのだろうかと思います。

答えて

0

まず、私はあなたが非常に迅速にこのようにGoogleのAPIの制限を使い果たすつもりであるため、代替手段と3つの異なるルートを要求していないことを願っています。今、各ウェイポイントを通過するルートを尋ねるの正しい方法はangularjsでこれです:要求された状態で

uiGmapGoogleMapApi.then(function(maps) { 
     directionsService = new maps.DirectionsService(); 
}); 

directionsService.route(request, function(response, status) {}); 

:googleapiマニュアルのように

{ 
    origin: 'A', 
    destination: 'D', 
    waypoints: [ 
{ 
    location: 'C', 
    stopover: false 
}], 
provideRouteAlternatives: false, 
travelMode: 'DRIVING' 
} 

google

さて、あなたがしなければgoogle apiのキーを作るために利用できるリクエストがたくさんある場合は、あなたが言ったようにuseRouteAlternatives:trueを使用して、最短距離のものを見つけてください。

もう一つの選択肢は、短距離ルートを提供するように、移動モードを歩行に変更することですが、これは一方向の道しか持たない道路では非常に悪いことです。

関連する問題