From af6fce2ae653d59bcfdef61eb6f68aad9143d79d Mon Sep 17 00:00:00 2001 From: bxb Date: Thu, 2 Mar 2023 09:21:05 +0800 Subject: [PATCH] =?UTF-8?q?[=E6=B8=85=E6=89=AB=E8=BD=A6]=E8=BD=A8=E8=BF=B9?= =?UTF-8?q?=E5=8F=91=E5=B8=83=E6=97=B6=E9=97=B4=E5=AD=97=E6=AE=B5=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=92=8C=E4=BB=BB=E5=8A=A1=E8=BF=9B=E5=BA=A6=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bean/SweeperSubTaskDetailBean.java | 61 +++++---- .../mogo/och/sweeper/event/WeltDataEvent.java | 58 ++++++++ .../mogo/och/sweeper/event/WeltDataEvent.kt | 11 -- .../fragment/BaseSweeperTabFragment.java | 36 ++++- .../och/sweeper/fragment/SweeperFragment.kt | 126 +++++++++++------- .../fragment/WeltMapOverViewFragment.kt | 12 +- .../och/sweeper/model/SweeperTaskModel.java | 6 +- .../sweeper/presenter/SweeperPresenter.java | 25 ++-- .../util/SweeperTrajectoryManager.java | 4 +- .../mogo/och/sweeper/view/WeltMapOverView.kt | 25 ++-- .../mogo/och/sweeper/view/WeltSmallMapView.kt | 21 ++- .../res/layout/sweeper_welt_map_overview.xml | 9 +- .../layout/sweeper_welt_small_map_view.xml | 4 +- 13 files changed, 272 insertions(+), 126 deletions(-) create mode 100644 OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.java delete mode 100644 OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.kt diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java index 04c203693b..c21229a738 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/bean/SweeperSubTaskDetailBean.java @@ -6,13 +6,13 @@ public class SweeperSubTaskDetailBean { private String lineName;//线路名称 private int sort; private int status; - private String startSiteId; //子任务起点id + private int startSiteId; //子任务起点id private String startSiteName; //子任务起点名称 private double startSiteLon; //子任务起点高德经度 private double startSiteLat; //子任务起点高德纬度 private double startSiteWgs64Lon;//子任务起点高精经度 private double startSiteWgs64Lat;//子任务起点高精纬度 - private String endSiteId;//子任务终点id + private int endSiteId;//子任务终点id private String endSiteName;//子任务终点名称 private double endSiteLon; //子任务终点高德经度 private double endSiteLat;//子任务终点高德纬度 @@ -26,14 +26,17 @@ public class SweeperSubTaskDetailBean { private String txtFileUrl = ""; //轨迹文件txt url地址 private String txtFileMd5 = ""; //轨迹文件txt md5 private String txtFileName; //轨迹文件txt名称 - private long contrailSaveTime; + private long publishTime; private String contrailFileType; //轨迹文件类型 private String publishStatus;//发布状态 1发布 2未发布 3 发布中 private String csvFileUrlDPQP = ""; //轨迹文件下载的cos url,默认“” private String csvFileMd5DPQP = ""; //轨迹文件md5,默认“” private String txtFileUrlDPQP = ""; //打点文件下载的cos url,默认“” private String txtFileMd5DPQP = ""; //轨迹文件md5,默认“” - private long contrailSaveTimeDPQP; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + private long publishTimeDPQP; //上传轨迹完成时间戳ms:用于MEC本地手动导入轨迹验证时不会被云端轨迹覆盖 + private long taskCreateTime; + private String brandDPQP; + private String carModelDPQP; public int getId() { return id; @@ -75,11 +78,11 @@ public class SweeperSubTaskDetailBean { this.status = status; } - public String getStartSiteId() { + public int getStartSiteId() { return startSiteId; } - public void setStartSiteId(String startSiteId) { + public void setStartSiteId(int startSiteId) { this.startSiteId = startSiteId; } @@ -123,11 +126,11 @@ public class SweeperSubTaskDetailBean { this.startSiteWgs64Lat = startSiteWgs64Lat; } - public String getEndSiteId() { + public int getEndSiteId() { return endSiteId; } - public void setEndSiteId(String endSiteId) { + public void setEndSiteId(int endSiteId) { this.endSiteId = endSiteId; } @@ -171,6 +174,14 @@ public class SweeperSubTaskDetailBean { this.endSiteWgs64Lat = endSiteWgs64Lat; } + public long getTaskCreateTime() { + return taskCreateTime; + } + + public void setTaskCreateTime(long taskCreateTime) { + this.taskCreateTime = taskCreateTime; + } + public String getBrand() { return brand; } @@ -235,28 +246,28 @@ public class SweeperSubTaskDetailBean { this.txtFileName = txtFileName; } - public String getContrailFileType() { - return contrailFileType; + public long getPublishTime() { + return publishTime; } - public void setContrailFileType(String contrailFileType) { - this.contrailFileType = contrailFileType; + public void setPublishTime(long publishTime) { + this.publishTime = publishTime; } - public String getPublishStatus() { - return publishStatus; + public String getBrandDPQP() { + return brandDPQP; } - public void setPublishStatus(String publishStatus) { - this.publishStatus = publishStatus; + public void setBrandDPQP(String brandDPQP) { + this.brandDPQP = brandDPQP; } - public long getContrailSaveTime() { - return contrailSaveTime; + public String getCarModelDPQP() { + return carModelDPQP; } - public void setContrailSaveTime(long contrailSaveTime) { - this.contrailSaveTime = contrailSaveTime; + public void setCarModelDPQP(String carModelDPQP) { + this.carModelDPQP = carModelDPQP; } public String getCsvFileUrlDPQP() { @@ -291,11 +302,13 @@ public class SweeperSubTaskDetailBean { this.txtFileMd5DPQP = txtFileMd5DPQP; } - public long getContrailSaveTimeDPQP() { - return contrailSaveTimeDPQP; + public long getPublishTimeDPQP() { + return publishTimeDPQP; } - public void setContrailSaveTimeDPQP(long contrailSaveTimeDPQP) { - this.contrailSaveTimeDPQP = contrailSaveTimeDPQP; + public void setPublishTimeDPQP(long publishTimeDPQP) { + this.publishTimeDPQP = publishTimeDPQP; } + + } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.java new file mode 100644 index 0000000000..d260bbe3f4 --- /dev/null +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.java @@ -0,0 +1,58 @@ +package com.mogo.och.sweeper.event; + +import com.amap.api.maps.model.LatLng; +import com.mogo.och.sweeper.database.bean.WeltDataBean; + +import java.util.ArrayList; + +public class WeltDataEvent{ + private int type; //1.添加起点和终点 2.实时添加贴边数据 3.清除数据 4.任务进度 + private ArrayList weltDataBeanList; + private ArrayList markers; + private String distance;//贴边数据 + private String progress;//任务进度 + + public WeltDataEvent(int type) { + this.type = type; + } + + public int getType() { + return type; + } + + public void setType(int type) { + this.type = type; + } + + public ArrayList getWeltDataBeanList() { + return weltDataBeanList; + } + + public void setWeltDataBeanList(ArrayList weltDataBeanList) { + this.weltDataBeanList = weltDataBeanList; + } + + public ArrayList getMarkers() { + return markers; + } + + public void setMarkers(ArrayList markers) { + this.markers = markers; + } + + public String getDistance() { + return distance; + } + + public void setDistance(String distance) { + this.distance = distance; + } + + public String getProgress() { + return progress; + } + + public void setProgress(String progress) { + this.progress = progress; + } +} diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.kt deleted file mode 100644 index 659f617141..0000000000 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/event/WeltDataEvent.kt +++ /dev/null @@ -1,11 +0,0 @@ -package com.mogo.och.sweeper.event - -import com.amap.api.maps.model.LatLng -import com.mogo.och.sweeper.database.bean.WeltDataBean - -data class WeltDataEvent( - var type:Int, //1.添加起点和终点 2.实时添加贴边数据 3.清除数据 - var weltDataBeanList: MutableList?, - var markers:MutableList?, - var distance:String//贴边数据 -) \ No newline at end of file diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java index 8b88b54259..abbc296219 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/fragment/BaseSweeperTabFragment.java @@ -23,6 +23,7 @@ import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxButtonView; import com.mogo.eagle.core.function.hmi.ui.msgbox.DriverMsgBoxListView; import com.mogo.eagle.core.function.view.MapBizView; import com.mogo.eagle.core.utilcode.mogo.view.OnPreventFastClickListener; +import com.mogo.eagle.core.utilcode.util.ThreadUtils; import com.mogo.eagle.core.utilcode.util.UiThreadHandler; import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.listener.MogoMapListenerHandler; @@ -89,6 +90,7 @@ public abstract class BaseSweeperTabFragment weltDataBeanList;//存储贴边数据 private ArrayList latLngList;//存储任务起点和终点 + private String mProgress; @Override protected int getLayoutId() { @@ -159,6 +161,19 @@ public abstract class BaseSweeperTabFragment{ + mMapWeltView.setTaskProgress(progress); + mProgress=progress; + }); + WeltDataEvent weltDataEvent= new WeltDataEvent(4); + weltDataEvent.setProgress(progress); + EventBus.getDefault().postSticky(weltDataEvent); + } @Override protected void initViews(Bundle savedInstanceState) { super.initViews(savedInstanceState); @@ -219,6 +234,7 @@ public abstract class BaseSweeperTabFragment weltDataBeans,Boolean isWeltData,String distance) { + public void setWeltDataToMap(ArrayList weltDataBeans, Boolean isWeltData, String distance) { if (mMapWeltView != null) { - UiThreadHandler.post(()->{ - mMapWeltView.setWeltData(weltDataBeans,isWeltData,distance); + UiThreadHandler.post(() -> { + mMapWeltView.setWeltData(weltDataBeans, isWeltData, distance); mMapWeltView.drawablePolyline(); }); } this.weltDataBeanList = weltDataBeans; - EventBus.getDefault().postSticky(new WeltDataEvent(2, weltDataBeans, null,distance)); + WeltDataEvent weltDataEvent= new WeltDataEvent(2); + weltDataEvent.setWeltDataBeanList(weltDataBeanList); + weltDataEvent.setDistance(distance); + EventBus.getDefault().postSticky(weltDataEvent); } /** @@ -444,7 +463,9 @@ public abstract class BaseSweeperTabFragment - presenter?.getSubTaskDetail(isFirstSubTask(), isLastSubTask(),subInfo.taskId, mSubTaskType,false)//加载子任务详情包括轨迹信息 + presenter?.getSubTaskDetail(isFirstSubTask(), isLastSubTask(), subInfo.taskId, mSubTaskType, false)//加载子任务详情包括轨迹信息 } } else { manualDriving(mSubInfo) @@ -249,7 +253,7 @@ class SweeperFragment : BaseSweeperTabFragment - if (subList.size <= 0) { - return + lifecycleScope.launch(Dispatchers.IO) { + mSubMutableList?.let { subList -> + if (subList.size <= 0) { + return@launch + } + //添加贴边数据绘制 + addStartAndEndMarker( + CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + AbsMogoApplication.getApp(), + subList[0].startWgs84Lon, + subList[0].startWgs84Lat + ), + CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + AbsMogoApplication.getApp(), + subList[subList.size - 1].endWgs84Lon, + subList[subList.size - 1].endWgs84Lat + ) + ) + val dataList = ArrayList() + for (index in subList.indices) { + val startPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + AbsMogoApplication.getApp(), + subList[index].startWgs84Lon, + subList[index].startWgs84Lat + ) + val startWeltData = WeltDataBean() + startWeltData.locLat = startPoint.latitude + startWeltData.locLon = startPoint.longitude + startWeltData.weltDistance = -9999.0 + dataList.add(startWeltData) + val endPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( + AbsMogoApplication.getApp(), + subList[index].endWgs84Lon, + subList[index].endWgs84Lat + ) + val endWeltData = WeltDataBean() + endWeltData.locLat = endPoint.latitude + endWeltData.locLon = endPoint.longitude + endWeltData.weltDistance = -9999.0 + dataList.add(endWeltData) + } + setWeltDataToMap(dataList, false, "0") } - //添加贴边数据绘制 - addStartAndEndMarker( - CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( - AbsMogoApplication.getApp(), - subList[0].startWgs84Lon, - subList[0].startWgs84Lat - ), - CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( - AbsMogoApplication.getApp(), - subList[subList.size - 1].endWgs84Lon, - subList[subList.size - 1].endWgs84Lat - ) - ) - val dataList = ArrayList() - for (index in subList.indices) { - val startPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( - AbsMogoApplication.getApp(), - subList[index].startWgs84Lon, - subList[index].startWgs84Lat - ) - val startWeltData = WeltDataBean() - startWeltData.locLat = startPoint.latitude - startWeltData.locLon = startPoint.longitude - startWeltData.weltDistance=-9999.0 - dataList.add(startWeltData) - val endPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj( - AbsMogoApplication.getApp(), - subList[index].endWgs84Lon, - subList[index].endWgs84Lat - ) - val endWeltData = WeltDataBean() - endWeltData.locLat = endPoint.latitude - endWeltData.locLon = endPoint.longitude - endWeltData.weltDistance=-9999.0 - dataList.add(endWeltData) - } - setWeltDataToMap(dataList,false,"0") } } @@ -456,8 +486,8 @@ class SweeperFragment : BaseSweeperTabFragment val weltDataList = bundle.getSerializable("weltDataList") as? ArrayList + val progress = bundle.getString("progress") latLngs?.let { if (it.size >= 2) { addStartAndEndMarker(it[0], it[1]) } } weltDataList?.let { - setWeltData(it,false,"") + setWeltData(it,false,"0") drawablePolyline() } + progress?.let { + weltMapOverView.setProgress(progress) + } } } @@ -65,11 +69,13 @@ class WeltMapOverViewFragment(var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitch fun newInstance( mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback, weltDataList: ArrayList?, - latLngs: ArrayList? + latLngs: ArrayList?, + progress:String? ): WeltMapOverViewFragment { val args = Bundle() args.putSerializable("weltDataList", weltDataList) args.putSerializable("startAndEndPoint", latLngs) + args.putString("progress", progress) val fragment = WeltMapOverViewFragment(mIWeltMapSwitchToSmallCallBack) fragment.arguments = args return fragment @@ -113,6 +119,8 @@ class WeltMapOverViewFragment(var mIWeltMapSwitchToSmallCallBack: IWeltMapSwitch lifecycleScope.launch(Dispatchers.Main) { clearAllMarkerAndPolyline() } + }else if (weltDataEvent.type == 4){ + weltMapOverView.setProgress(weltDataEvent.progress) } } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java index 813be701e0..1f585e4f23 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/model/SweeperTaskModel.java @@ -398,6 +398,7 @@ public class SweeperTaskModel { CallerLogger.INSTANCE.e(M_SWEEPER + TAG, "AutopilotControlParameters is empty."); return; } + CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "AutopilotControlParameters" + GsonUtil.jsonFromObject(parameters)); CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "AutopilotControlParameters is update."); CallerAutoPilotStatusListenerManager.INSTANCE.updateAutopilotControlParameters(parameters); } @@ -423,10 +424,10 @@ public class SweeperTaskModel { mCurrentSubTaskDetail.getLineId(), mCurrentSubTaskDetail.getCsvFileUrl(), mCurrentSubTaskDetail.getCsvFileMd5(), mCurrentSubTaskDetail.getTxtFileUrl(), mCurrentSubTaskDetail.getTxtFileMd5(), - mCurrentSubTaskDetail.getContrailSaveTime(), mCurrentSubTaskDetail.getCarModel(), + mCurrentSubTaskDetail.getPublishTime(), mCurrentSubTaskDetail.getCarModel(), mCurrentSubTaskDetail.getCsvFileUrlDPQP(), mCurrentSubTaskDetail.getCsvFileMd5DPQP(), mCurrentSubTaskDetail.getTxtFileUrlDPQP(), mCurrentSubTaskDetail.getTxtFileMd5DPQP(), - mCurrentSubTaskDetail.getContrailSaveTimeDPQP()); + mCurrentSubTaskDetail.getPublishTimeDPQP()); } return parameters; } @@ -664,6 +665,7 @@ public class SweeperTaskModel { if (FunctionBuildConfig.isDemoMode) {//美化模式开启时 SweeperTaskModel.getInstance().closeBeautificationMode(); } + clearAutopilotControlParameters(); //结束自动驾驶 cancelAutoPilot(); } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java index eb7cca7309..52ca152a1d 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/presenter/SweeperPresenter.java @@ -179,9 +179,11 @@ public class SweeperPresenter extends Presenter public void startOpenAutopilot() { } - public void startAutopilot(){ + + public void startAutopilot() { SweeperTaskModel.getInstance().startAutopilot(); } + /** * 设置当前子任务信息 */ @@ -189,6 +191,7 @@ public class SweeperPresenter extends Presenter this.mSubTaskId = subTaskId; SweeperTaskModel.getInstance().setSubtask(isFirstSubtask, isLastSubtask, subTaskId); } + /** * 测试使用 * @@ -329,14 +332,16 @@ public class SweeperPresenter extends Presenter weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity()); weltDataBean.setSubTaskId(mSubTaskId); MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean); - String distance=format(roboSweeperTaskIndex.getDistToRefEdgePoint()*100); - mView.setWeltDataToMap((ArrayList) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true,distance); + String distance = format(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100); + mView.setWeltDataToMap((ArrayList) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true, distance); } + public static String format(double value) { - BigDecimal bd = new BigDecimal(value); - bd = bd.setScale(2, RoundingMode.HALF_UP); - return bd.toString(); - } + BigDecimal bd = new BigDecimal(value); + bd = bd.setScale(2, RoundingMode.HALF_UP); + return bd.toString(); + } + /** * 获取当前正在执行的任务 */ @@ -371,9 +376,9 @@ public class SweeperPresenter extends Presenter * 开始任务 */ public void startTask(boolean isFirst, boolean isEnd, int subTaskId, SubTaskTypeEnum subTaskType, int subTaskStatus) { - if (subTaskStatus==1){ - SweeperTaskModel.getInstance().subTaskStart(isFirst, isEnd, subTaskId, subTaskType); - } + if (subTaskStatus == 1) { + SweeperTaskModel.getInstance().subTaskStart(isFirst, isEnd, subTaskId, subTaskType); + } // AutopilotControlParameters parameters = new AutopilotControlParameters(); // parameters.isSpeakVoice = true; // parameters.routeID = 164; diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java index 6c58b2d6e5..878cb08b78 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/util/SweeperTrajectoryManager.java @@ -98,10 +98,10 @@ public class SweeperTrajectoryManager { mAutoPilotLine = new AutopilotControlParameters.AutoPilotLine(subTaskDetail.getLineId(), subTaskDetail.getCsvFileUrl(), subTaskDetail.getCsvFileMd5(), subTaskDetail.getTxtFileUrl(), subTaskDetail.getTxtFileMd5(), - subTaskDetail.getContrailSaveTime(), subTaskDetail.getCarModel(), + subTaskDetail.getPublishTime(), subTaskDetail.getCarModel(), subTaskDetail.getCsvFileUrlDPQP(), subTaskDetail.getCsvFileMd5DPQP(), subTaskDetail.getTxtFileUrlDPQP(), subTaskDetail.getTxtFileMd5DPQP(), - subTaskDetail.getContrailSaveTimeDPQP()); + subTaskDetail.getPublishTimeDPQP()); } } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt index 0fd06cf22a..49a7075e0d 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltMapOverView.kt @@ -166,25 +166,27 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { mLineMarkers[i]?.remove() } mLineMarkers.clear() - mFirst = false - showOrHiddenLegendData(false) + //mFirst = false + //showOrHiddenLegendData(false) } /** * 设置贴边数据 */ - fun setWeltData(weltData: MutableList?, isWeltData: Boolean, distance: String) { + fun setWeltData(weltData: MutableList?, isWeltData: Boolean, distance: String?) { if (weltData != null) { this.mWeltData.addAll(weltData) for (i in mWeltData.indices) { mCoordinatesLatLng.add(LatLng(mWeltData[i].locLat, mWeltData[i].locLon)) } } - setDistance(distance) - if (!mFirst && isWeltData) { - mFirst = true - showOrHiddenLegendData(true) + distance?.let { + setDistance(it) } + //if (!mFirst && isWeltData) { + // mFirst = true + // showOrHiddenLegendData(true) + //} } /** @@ -203,7 +205,14 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { private fun setDistance(distance: String) { taskWeltDistanceTv.text = "贴边:${distance}cm" } - + fun setProgress(progress:String?){ + progress?.let { + taskProgressTv.visibility=View.VISIBLE + taskWeltDistanceTv.visibility=View.VISIBLE + taskProgressTv.text=it + showOrHiddenLegendData(true) + } + } fun onCreateView(savedInstanceState: Bundle?) { sweeperTextureMapView.onCreate(savedInstanceState) } diff --git a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt index e7327bd3f7..d837ce78ae 100644 --- a/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt +++ b/OCH/mogo-och-sweeper/src/main/java/com/mogo/och/sweeper/view/WeltSmallMapView.kt @@ -192,8 +192,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { mLineMarkers[i]?.remove() } mLineMarkers.clear() - mFirst = false - showOrHiddenWelt(false) + //mFirst = false + //showOrHiddenWelt(false) } fun getSwitchToBig(): ImageView = sweeperSwitchToBig @@ -215,12 +215,19 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener { mCoordinatesLatLng.add(CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(context, mWeltData[i].locLon, mWeltData[i].locLat)) } taskWeltDistanceTv.text="贴边:${distance}cm" - if (!mFirst&&isWeltData) { - showOrHiddenWelt(true) - mFirst = true - } + //if (!mFirst&&isWeltData) { + // showOrHiddenWelt(true) + // mFirst = true + //} + } + /** + * 设置任务进度 + */ + fun setTaskProgress(progress:String?){ + taskWeltDistanceTv.visibility=View.VISIBLE + taskProgressTv.visibility=View.VISIBLE + taskProgressTv.text=progress } - fun onCreateView(savedInstanceState: Bundle?) { sweeperSmallTextureMapView?.onCreate(savedInstanceState) } diff --git a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_welt_map_overview.xml b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_welt_map_overview.xml index e3b2a40fc1..398f369001 100644 --- a/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_welt_map_overview.xml +++ b/OCH/mogo-och-sweeper/src/main/res/layout/sweeper_welt_map_overview.xml @@ -2,7 +2,8 @@ + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools"> + app:layout_constraintWidth_percent="0.5" + android:visibility="gone"/>