2016-09-15 4 views
0

ここでマップされていない領域については、私たちのアプリケーションを使用してドライバをガイドしたいと思います。問題は、PositioningManagerが、実際にトラックの位置から離れていることがある「マップマッチ」した位置を与えることです。ここでは、LocationDataSourceAutomotiveを使用したオフロードナビゲーション

私はLocationDataSourceAutomotiveを使用して、自分の位置(デバイスによって与えられた生の位置)を提供しました。ポジションインジケータは地図上を移動しています、getLastKnownPosition()は良いです。

私は

NavigationManager.getInstance().startNavigation(route); 

を使用してナビゲーションを開始しかし、私はNewInstructionEventListenerで任意の命令を得ることはありません。私が計算されたルートに従っていないとき、私は「再ルーティング」されません。

この問題を回避したり、他の手段で同じ目標(オフロードナビゲーション)を達成するにはどうすればよいのでしょうか?

答えて

1

LocationDataSourceAutomotiveは、この方法で使用することを意味しません。

一般にオフロードナビゲーションはエンジンではサポートされていません。デバイスが道路ネットワークのない場所に設置されている場合、ナビゲーションエンジンは既知の道路ネットワークと引き続き一致します。ユーザーがルート上を移動したり、既知の道路ネットワーク上の道路に移動したりすると、ナビゲーションが再開されます。

また、ポジショニングマネージャーはさまざまなタイプのポジションをコールバックします。ナビゲーションマネージャからのonPositionUpdatedコールバックが一致するかどうかを区別するために、instanceof MapMatchedPositionを実行してください。

+0

あなたはそれをどのようにして明確にすることができますか?私はsdkでクラスMapMatchedPositionを見つけることができません。 PositioningManagerコールバックにブール型の「mapMatched」があることはわかっていますが、元の位置を取得する方法はわかりません。私がしたいのは、既知のルートから遠すぎる位置(デフォルトの動作ですが、距離のしきい値を下げることができるようにしたい)に対してマップマッチングを行わないことです。私はLocationDataSourceAutomotive get *** StandardDeviationメソッドを使用してこれを達成できると考えました。 – Teriblus

+0

私は生の位置を含むMatchedGeoPositionを意味すると思います。これは便利ですが、この位置にPositionIndicatorを設定するにはどうすればよいですか?この時点で遅すぎるのではないですか? – Teriblus

関連する問題