Commit 52a6049474b96d31c1afa63ef41e7cb32441ac48
1 parent
67a0c3c5
1 修改暂停后,实时轨迹显示逻辑
Showing
4 changed files
with
47 additions
and
9 deletions
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RunningMapFragmentPresenter.java
| ... | ... | @@ -342,11 +342,17 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter<RunningMapFrag |
| 342 | 342 | /** |
| 343 | 343 | * 查询当前用户历史轨迹 |
| 344 | 344 | */ |
| 345 | - public void queryHistoryTrace(Context context, UserStepEntity userStepEntity) { | |
| 345 | + public void queryHistoryTrace(Context context, UserStepEntity userStepEntity, boolean isPause) { | |
| 346 | 346 | //查询当前用户的历史轨迹 |
| 347 | 347 | long startTime = userStepEntity.getStartTimeStamp(); |
| 348 | 348 | //获取当前的时间戳(秒) |
| 349 | - long endTime = TimeUtil.getNowTimeStamp(); | |
| 349 | + long endTime = 0; | |
| 350 | + //如果没有暂停 | |
| 351 | + if (!isPause) { | |
| 352 | + endTime = TimeUtil.getNowTimeStamp(); | |
| 353 | + } else { | |
| 354 | + endTime = userStepEntity.getPauseTimeStamp(); | |
| 355 | + } | |
| 350 | 356 | //获取当前的实体名称 |
| 351 | 357 | String entityName = CommonInfo.getUserId(context); |
| 352 | 358 | //打的重要点 |
| ... | ... | @@ -356,10 +362,12 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter<RunningMapFrag |
| 356 | 362 | public void success(List<LatLng> resultPoints) { |
| 357 | 363 | if (resultPoints != null && resultPoints.size() > 1) { |
| 358 | 364 | if (getView() != null && resultPoints != null) { |
| 359 | - if (resultPoints.size() == 1) { | |
| 360 | - getView().setHistoryLastPoint(resultPoints.get(0)); | |
| 361 | - } else if (resultPoints.size() > 1) { | |
| 362 | - getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1)); | |
| 365 | + if (!isPause) { | |
| 366 | + if (resultPoints.size() == 1) { | |
| 367 | + getView().setHistoryLastPoint(resultPoints.get(0)); | |
| 368 | + } else if (resultPoints.size() > 1) { | |
| 369 | + getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1)); | |
| 370 | + } | |
| 363 | 371 | } |
| 364 | 372 | if (importPoints != null && resultPoints != null) { |
| 365 | 373 | boolean isFinish = MyMapUtil.checkIsFinishTrace(importPoints, resultPoints, 0.6); |
| ... | ... | @@ -377,6 +385,28 @@ public class RunningMapFragmentPresenter extends MvpBasePresenter<RunningMapFrag |
| 377 | 385 | } |
| 378 | 386 | }); |
| 379 | 387 | |
| 388 | + //然后查询从暂停到现在的距离 | |
| 389 | + if (isPause) { | |
| 390 | + long continueTime = userStepEntity.getContinueTime(); | |
| 391 | + long continueendTime = TimeUtil.getNowTimeStamp(); | |
| 392 | + MyMapUtil.queryHistoryTrace(context, StepService.mClient, entityName, startTime, endTime, new MyMapUtil.CallBack() { | |
| 393 | + @Override | |
| 394 | + public void success(List<LatLng> resultPoints) { | |
| 395 | + if (resultPoints != null && resultPoints.size() > 1) { | |
| 396 | + if (resultPoints.size() == 1) { | |
| 397 | + getView().setHistoryLastPoint(resultPoints.get(0)); | |
| 398 | + } else if (resultPoints.size() > 1) { | |
| 399 | + getView().setHistoryLastPoint(resultPoints.get(resultPoints.size() - 1)); | |
| 400 | + } | |
| 401 | + //开始划线 | |
| 402 | + MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, 0, 0); | |
| 403 | + | |
| 404 | + } | |
| 405 | + } | |
| 406 | + }); | |
| 407 | + | |
| 408 | + } | |
| 409 | + | |
| 380 | 410 | } |
| 381 | 411 | |
| 382 | 412 | ... | ... |
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/model/RunningFinishBean.java
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/ui/fragment/RunningMapFragment.java
| ... | ... | @@ -110,9 +110,15 @@ public class RunningMapFragment extends QMUIFragment<RunningMapFragmentView, Run |
| 110 | 110 | if (getMvpView() != null && userStepEntity != null) { |
| 111 | 111 | //查询运营人员踩得轨迹 |
| 112 | 112 | getPresenter().getServerStreetTrace(getActivity(), userStepEntity); |
| 113 | - | |
| 114 | - //开始查询 | |
| 115 | - getPresenter().queryHistoryTrace(getActivity(), userStepEntity); | |
| 113 | + //判断用户是否暂停过 | |
| 114 | + if (userStepEntity.getPauseCount() != 0) { | |
| 115 | + //开始查询,用户已经点击暂停按钮(先画出用户 开始-暂停时间中的轨迹) | |
| 116 | + getPresenter().queryHistoryTrace(getActivity(), userStepEntity, true); | |
| 117 | + | |
| 118 | + } else { | |
| 119 | + //开始查询,用户没有点击暂停按钮 | |
| 120 | + getPresenter().queryHistoryTrace(getActivity(), userStepEntity, false); | |
| 121 | + } | |
| 116 | 122 | } |
| 117 | 123 | |
| 118 | 124 | ... | ... |
moudle_pedometer/src/main/res/layout/fragment_self_record.xml