Commit e25955c793837a7b6a23c7ff8fa94609a9824681

Authored by 杨帅
1 parent 312fcc08

1 调整"我的记录","轨迹列表"以及"上传赛事成绩"页面中地图轨迹的显示效果

config.gradle
@@ -21,7 +21,7 @@ ext { @@ -21,7 +21,7 @@ ext {
21 //编译方式 21 //编译方式
22 debug : false, 22 debug : false,
23 //版本号 23 //版本号
24 - version: "0.7.10", 24 + version: "0.7.11",
25 //Lib库前缀 25 //Lib库前缀
26 packeg : "com.cnlive.module", 26 packeg : "com.cnlive.module",
27 //Lib库名称 27 //Lib库名称
moudle_pedometer/src/main/java/com/cnlive/moudle/collectionTrace/frame/view/CollTraceListDetailFragmentView.java
@@ -4,6 +4,7 @@ import android.app.Activity; @@ -4,6 +4,7 @@ import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
5 import android.graphics.Bitmap; 5 import android.graphics.Bitmap;
6 import android.graphics.BitmapFactory; 6 import android.graphics.BitmapFactory;
  7 +import android.graphics.Point;
7 import android.os.Handler; 8 import android.os.Handler;
8 import android.support.v7.widget.LinearLayoutManager; 9 import android.support.v7.widget.LinearLayoutManager;
9 import android.text.TextUtils; 10 import android.text.TextUtils;
@@ -12,6 +13,8 @@ import android.view.MotionEvent; @@ -12,6 +13,8 @@ import android.view.MotionEvent;
12 import android.view.View; 13 import android.view.View;
13 14
14 import com.baidu.mapapi.map.BaiduMap; 15 import com.baidu.mapapi.map.BaiduMap;
  16 +import com.baidu.mapapi.map.MapStatus;
  17 +import com.baidu.mapapi.map.MapStatusUpdateFactory;
15 import com.baidu.mapapi.map.MapView; 18 import com.baidu.mapapi.map.MapView;
16 import com.baidu.mapapi.map.Overlay; 19 import com.baidu.mapapi.map.Overlay;
17 import com.baidu.mapapi.map.UiSettings; 20 import com.baidu.mapapi.map.UiSettings;
@@ -298,7 +301,15 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener @@ -298,7 +301,15 @@ public class CollTraceListDetailFragmentView implements MvpView, OnFenceListener
298 } 301 }
299 302
300 } 303 }
301 - // 304 + //设置显示位置
  305 + if (null != getContext()) {
  306 + MapStatus.Builder builder = new MapStatus.Builder();
  307 + Point screenPoint = ScreenUtil.getScreenPoint(getContext());
  308 + if (null != screenPoint) {
  309 + builder.targetScreen(new Point(screenPoint.x / 2, screenPoint.y / 3));
  310 + }
  311 + baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
  312 + }
302 } 313 }
303 } 314 }
304 315
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/ALLScoreDetailFragmentPresenter.java
1 package com.cnlive.moudle.pedometer.frame.presenter; 1 package com.cnlive.moudle.pedometer.frame.presenter;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
  4 +import android.graphics.Point;
4 import android.text.TextUtils; 5 import android.text.TextUtils;
5 import android.widget.Toast; 6 import android.widget.Toast;
6 7
  8 +import com.baidu.mapapi.map.MapStatus;
  9 +import com.baidu.mapapi.map.MapStatusUpdate;
  10 +import com.baidu.mapapi.map.MapStatusUpdateFactory;
7 import com.baidu.mapapi.model.LatLng; 11 import com.baidu.mapapi.model.LatLng;
8 import com.baidu.trace.LBSTraceClient; 12 import com.baidu.trace.LBSTraceClient;
9 import com.baidu.trace.model.SortType; 13 import com.baidu.trace.model.SortType;
@@ -16,6 +20,7 @@ import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; @@ -16,6 +20,7 @@ import com.cnlive.moudle.pedometer.ui.widget.SelectDialog;
16 import com.cnlive.moudle.pedometer.utils.GsonUtil; 20 import com.cnlive.moudle.pedometer.utils.GsonUtil;
17 import com.cnlive.moudle.pedometer.utils.MyMapUtil; 21 import com.cnlive.moudle.pedometer.utils.MyMapUtil;
18 import com.cnlive.moudle.pedometer.utils.QMUITipDialogUtil; 22 import com.cnlive.moudle.pedometer.utils.QMUITipDialogUtil;
  23 +import com.cnlive.moudle.pedometer.utils.ScreenUtil;
19 import com.example.moudle_pedometer.R; 24 import com.example.moudle_pedometer.R;
20 import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; 25 import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter;
21 26
@@ -77,7 +82,15 @@ public class ALLScoreDetailFragmentPresenter extends MvpBasePresenter<ALLScoreDe @@ -77,7 +82,15 @@ public class ALLScoreDetailFragmentPresenter extends MvpBasePresenter<ALLScoreDe
77 MyMapUtil.setMapAutoZoom(getView().baiduMap, resultPoints, -0.8f); 82 MyMapUtil.setMapAutoZoom(getView().baiduMap, resultPoints, -0.8f);
78 } 83 }
79 } 84 }
80 - 85 + //设置显示位置
  86 + if (null != getView()) {
  87 + MapStatus.Builder builder = new MapStatus.Builder();
  88 + Point screenPoint = ScreenUtil.getScreenPoint(context);
  89 + if (null != screenPoint) {
  90 + builder.targetScreen(new Point(screenPoint.x / 2, screenPoint.y / 3));
  91 + }
  92 + getView().baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
  93 + }
81 } 94 }
82 //如果用户点击暂停按钮,进行分段查询 95 //如果用户点击暂停按钮,进行分段查询
83 if (runningFinishBean.isPause()) { 96 if (runningFinishBean.isPause()) {
@@ -98,6 +111,15 @@ public class ALLScoreDetailFragmentPresenter extends MvpBasePresenter<ALLScoreDe @@ -98,6 +111,15 @@ public class ALLScoreDetailFragmentPresenter extends MvpBasePresenter<ALLScoreDe
98 //设置地图自动缩放 111 //设置地图自动缩放
99 allResultList.addAll(resultPoints); 112 allResultList.addAll(resultPoints);
100 MyMapUtil.setMapAutoZoom(getView().baiduMap, allResultList, -0.8f); 113 MyMapUtil.setMapAutoZoom(getView().baiduMap, allResultList, -0.8f);
  114 + //设置显示位置
  115 + if (null != getView()) {
  116 + MapStatus.Builder builder = new MapStatus.Builder();
  117 + Point screenPoint = ScreenUtil.getScreenPoint(context);
  118 + if (null != screenPoint) {
  119 + builder.targetScreen(new Point(screenPoint.x / 2, screenPoint.y / 3));
  120 + }
  121 + getView().baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
  122 + }
101 } 123 }
102 } 124 }
103 }); 125 });
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/frame/presenter/RunningFinishFragmetPresenter.java
@@ -2,10 +2,13 @@ package com.cnlive.moudle.pedometer.frame.presenter; @@ -2,10 +2,13 @@ package com.cnlive.moudle.pedometer.frame.presenter;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
  5 +import android.graphics.Point;
5 import android.text.TextUtils; 6 import android.text.TextUtils;
6 import android.util.Log; 7 import android.util.Log;
7 import android.widget.Toast; 8 import android.widget.Toast;
8 9
  10 +import com.baidu.mapapi.map.MapStatus;
  11 +import com.baidu.mapapi.map.MapStatusUpdateFactory;
9 import com.baidu.mapapi.model.LatLng; 12 import com.baidu.mapapi.model.LatLng;
10 import com.baidu.mapapi.utils.DistanceUtil; 13 import com.baidu.mapapi.utils.DistanceUtil;
11 import com.baidu.trace.LBSTraceClient; 14 import com.baidu.trace.LBSTraceClient;
@@ -29,6 +32,7 @@ import com.cnlive.moudle.pedometer.ui.widget.SelectDialog; @@ -29,6 +32,7 @@ import com.cnlive.moudle.pedometer.ui.widget.SelectDialog;
29 import com.cnlive.moudle.pedometer.utils.GsonUtil; 32 import com.cnlive.moudle.pedometer.utils.GsonUtil;
30 import com.cnlive.moudle.pedometer.utils.MyMapUtil; 33 import com.cnlive.moudle.pedometer.utils.MyMapUtil;
31 import com.cnlive.moudle.pedometer.utils.QMUITipDialogUtil; 34 import com.cnlive.moudle.pedometer.utils.QMUITipDialogUtil;
  35 +import com.cnlive.moudle.pedometer.utils.ScreenUtil;
32 import com.cnlive.moudle.pedometer.utils.StepUtil; 36 import com.cnlive.moudle.pedometer.utils.StepUtil;
33 import com.example.moudle_pedometer.R; 37 import com.example.moudle_pedometer.R;
34 import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter; 38 import com.hannesdorfmann.mosby3.mvp.MvpBasePresenter;
@@ -218,7 +222,14 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis @@ -218,7 +222,14 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis
218 if (userStepEntity.getPauseCount() == 0) { 222 if (userStepEntity.getPauseCount() == 0) {
219 MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, R.drawable.icon_start, R.drawable.icon_end); 223 MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, R.drawable.icon_start, R.drawable.icon_end);
220 MyMapUtil.setMapAutoZoom(getView().baiduMap, resultPoints, -1.5f); 224 MyMapUtil.setMapAutoZoom(getView().baiduMap, resultPoints, -1.5f);
221 - 225 + if (null != getView()) {
  226 + MapStatus.Builder builder = new MapStatus.Builder();
  227 + Point screenPoint = ScreenUtil.getScreenPoint(context);
  228 + if (null != screenPoint) {
  229 + builder.targetScreen(new Point(screenPoint.x / 2, screenPoint.y / 3));
  230 + }
  231 + getView().baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
  232 + }
222 //没有点击暂停 233 //没有点击暂停
223 //先判断是否到达终点 234 //先判断是否到达终点
224 checkUserIsFinish(resultPoints, userStepEntity, runningFinishBean, context); 235 checkUserIsFinish(resultPoints, userStepEntity, runningFinishBean, context);
@@ -241,6 +252,14 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis @@ -241,6 +252,14 @@ public class RunningFinishFragmetPresenter extends MvpBasePresenter<RunningFinis
241 if (importPoints != null) { 252 if (importPoints != null) {
242 MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, 0, R.drawable.icon_end); 253 MyMapUtil.drawHistoryTrack(context, getView().baiduMap, resultPoints, SortType.asc, R.color.red, 0, R.drawable.icon_end);
243 MyMapUtil.setMapAutoZoom(getView().baiduMap, allResults, -2f); 254 MyMapUtil.setMapAutoZoom(getView().baiduMap, allResults, -2f);
  255 + if (null != getView()) {
  256 + MapStatus.Builder builder = new MapStatus.Builder();
  257 + Point screenPoint = ScreenUtil.getScreenPoint(context);
  258 + if (null != screenPoint) {
  259 + builder.targetScreen(new Point(screenPoint.x / 2, screenPoint.y / 3));
  260 + }
  261 + getView().baiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
  262 + }
244 //先判断是否到达终点 263 //先判断是否到达终点
245 checkUserIsFinish(resultPoints, userStepEntity, runningFinishBean, context); 264 checkUserIsFinish(resultPoints, userStepEntity, runningFinishBean, context);
246 saveRouteData(context, userStepEntity, runningFinishBean); 265 saveRouteData(context, userStepEntity, runningFinishBean);
moudle_pedometer/src/main/java/com/cnlive/moudle/pedometer/utils/ScreenUtil.java
@@ -4,7 +4,9 @@ import android.app.Activity; @@ -4,7 +4,9 @@ import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
5 import android.graphics.Bitmap; 5 import android.graphics.Bitmap;
6 import android.graphics.Matrix; 6 import android.graphics.Matrix;
  7 +import android.graphics.Point;
7 import android.os.Build; 8 import android.os.Build;
  9 +import android.view.Display;
8 import android.view.WindowManager; 10 import android.view.WindowManager;
9 11
10 /*屏幕显示相关设置 12 /*屏幕显示相关设置
@@ -79,6 +81,14 @@ import android.view.WindowManager; @@ -79,6 +81,14 @@ import android.view.WindowManager;
79 } 81 }
80 82
81 83
  84 + public static Point getScreenPoint(Context context) {
  85 + WindowManager manager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
  86 + Display display = manager.getDefaultDisplay();
  87 + Point size = new Point();
  88 + display.getSize(size);
  89 + return size;
  90 + }
  91 +
82 public static class ScreenInfo { 92 public static class ScreenInfo {
83 private int width; 93 private int width;
84 private int height; 94 private int height;
@@ -99,4 +109,5 @@ import android.view.WindowManager; @@ -99,4 +109,5 @@ import android.view.WindowManager;
99 this.height = height; 109 this.height = height;
100 } 110 }
101 } 111 }
  112 +
102 } 113 }