Commit e25955c793837a7b6a23c7ff8fa94609a9824681
1 parent
312fcc08
1 调整"我的记录","轨迹列表"以及"上传赛事成绩"页面中地图轨迹的显示效果
Showing
5 changed files
with
67 additions
and
4 deletions
config.gradle
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 | } |