0
私はAndroidとMapBoxの新機能ですので、解決策が明白かもしれません。私はそれを見ていません。MapBox SDK RouteLegには情報が含まれていません
MapBoxを使用してAndroid用のターンバイターン方向アプリを実装しようとしています。私は、ルートを作成し、そのルートに沿ってポリラインを描画し、ユーザがポリラインに従い、ユーザがポリラインから外れた場合にリルートさせる方法を見つけ出すことができました。しかし、何らかの理由でRouteのRouteLegから次のRouteStepを取得しようとすると、RouteStep配列が空になり、なぜこれが起こっているのかわかりません。私は私が以下で話しているコードのセクションを投稿しました。
currentRoute = response.body().getRoutes().get(0);
Log.d(TAG, "Distance: " + currentRoute.getDistance());
Toast.makeText(
FollowRouteActivity.this,
"Route is " + currentRoute.getDistance() + " meters long.",
Toast.LENGTH_SHORT).show();
RouteLeg routeLeg = currentRoute.getLegs().get(0);
Log.d(TAG, "Next route leg distance: " + routeLeg.getDistance());
if (routeLeg.getSteps().size() > 0)
Log.d(TAG, "Next route step distance: " + routeLeg.getSteps().get(0).getDistance());
else
Log.d(TAG, "Next route step: No step found");
drawRoute(currentRoute);
このコードスニペットでは、常に「次のルートステップ:ステップが見つかりません」というメッセージがログに表示されます。
ありがとうございました!
また、currentRoute.getDistance()が正しい距離を返していて、currentRouteがdrawRoute()に渡されたときにポリラインが正しく描画されていることにも注意してください。 – user1467883