4

だから私はGoogle Maps APIをいじるためにjavascriptを学んでいます。私が直面しているこの問題に対するエレガントな解決策を誰かが持っているかどうか疑問に思っていました。

Google マップのルート リクエストには、origin、destination、travelMode の 3 つが含まれている必要があります。私のtravelModeは常にDRIVINGです。オリジンは、常にユーザーがいる場所です。

ただし、宛先は変更する必要があります。私はいくつかのウェイポイントを持っており、ユーザーが訪問し、選択されたウェイポイントとユーザーがどこにいるかに応じて、可能な限り最短の旅行を提供したいと考えています。 ..バツ)。

すべての可能なパスを計算し、最短距離 (または時間、または私が評価しているもの) を持つものを確認する以外に、これを行う方法はありますか? それは法外にコストがかかるようです (O(n!))。

編集: 提案された optimizeWaypoints フラグを true に設定すると、これは O(n!) ではなく O(n) の問題になりますが、短期間にあまりにも多くのリクエストを発行するという問題があります。

4

3 に答える 3

7

最適化されたルート (optimizeWaypoints - http://code.google.com/apis/maps/documentation/javascript/services.html#Directions ) を提供するための Google ルート案内の設定があります。ルート オブジェクトで true に設定するだけです。

于 2010-10-27T23:58:33.730 に答える
3

最短ルートが必要な場合は、最初に Google distanceMatrix API を呼び出して、停留所の並べ替えリストを取得できます。

次に、並べ替えリストを使用して API 方向を呼び出します。

于 2016-09-19T13:51:02.283 に答える