iOS用のHERE SDKを使用してアプリケーションを開発していて、問題が発生しました。経路を計算する際に使用される道路をフィルタする
問題はNMACoreRouterクラスにあります。 ポイントAからポイントBまでのルートを計算する際には、私が定義した道路のみを含むようにしたいと思います。含まれていない道路を含む結果は返さないでください。フィルター機能のようなものです。地点Aから地点Bまでの最速ルートを見つけていますが、特定の道路だけを使用しています(結果からハイウェイを除外する関数と同様に定義できます)。 私はドキュメントを調べましたが、これを行う可能性のあるものは見つかりませんでした。 私はこれを解決する方法がいくつかありますが、本当に魅力的なものはありません。
a)routeが私のリストに含まれている道路を使用している場合は、calculateRouteメソッドを使用し、NMARoute.geometryを比較します。
b)ルートを計算するときにいくつかのウェイポイント(開始と停止の横に)を追加します。ここで問題となるのは、2つ以上のウェイポイントを使用する場合、1つのルートしか返さないということです。別の問題は、ウェイポイントの限界(私はそれが128だと思う)のために計算する前に道路のどの部分にどのウェイポイントがあるのかを判断しなければならないということです。ルートが本当に長くなければならない場合は、問題。
だから私はおそらくあなたがこれを解決する方法を、よりエレガントに(速く、より良い..)お持ちなら、興味があります。明らかに、これらのソリューションは完全ではありません。
ありがとうございますが、私の問題は解決しません。私はNMARoutingModeとNMARoutingOptionを知っているが、それは役に立たない。可能なルートを事前に定義する必要があります。したがって、ユーザーは事前定義されたルートの1つを選択できます。 –
あなたの質問に既に記載したものには、より良い選択肢はないのではないかと心配しています。しかし、反対のことは可能です: 'NMADynamicPenalty'クラスを見ると、禁止領域や禁止されたRoadElementsを追加することができます。また、SDKがストップとウェイポイントを区別していると付け加えたいと思います。最大32のウェイポイントを追加することができますが、最大128の停止を指定できます。 – Datasun
NMADynamicPenaltyクラスを調べましたが、道路やエリアを禁止するフィルタはありますが、これらの道路だけを許可するフィルタはありませんでした。また、カスタムルートエクステンションがその機能を果たしているようですが、iOSプラットフォームでは利用できないようです。問題は、128ストップでは十分ではないということです。 –