Merge branch 'dev_robosweeper-d_app-module_221230_1.1.0' of gitlab.zhidaoauto.com:zhjt/AndroidApp/MoGoEagleEye into dev_robosweeper-d_app-module_221230_1.1.0
This commit is contained in:
@@ -11,4 +11,5 @@ interface ISweeperTaskDataToFragmentCallback {
|
||||
fun clearAllMarkerAndPolyline()
|
||||
fun setProgress(progress:String)
|
||||
fun setTaskListCoordinatesLatLng(coordinatesLatLng: ArrayList<LatLng>)
|
||||
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng)
|
||||
}
|
||||
@@ -92,6 +92,8 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
private DriverMsgBoxBubbleView mViewDriverMsgBoxBubble;
|
||||
private ArrayList<WeltDataBean> mWeltDataBeanList;//存储贴边数据
|
||||
private ArrayList<LatLng> mSubTaskCoordinates;//存储当前大任务的所有子任务起点和终点
|
||||
// 当前子任务的终点坐标
|
||||
protected LatLng mCurrentTaskEndStation;
|
||||
private ArrayList<SweeperRoutePlanningUpdateReqBean.Result> mRouteList;//存储任务的坐标轨迹
|
||||
private String mProgress;
|
||||
private ISweeperTaskDataToFragmentCallback mTaskDataToFragmentCallback;
|
||||
@@ -415,8 +417,14 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
if (isShow) {
|
||||
mFlWeltMapOverView.setVisibility(View.VISIBLE);
|
||||
if (mWeltMapOverViewFragment == null) {
|
||||
mWeltMapOverViewFragment = mWeltMapOverViewFragment.newInstance((IWeltMapSwitchToSmallCallback) this, mWeltDataBeanList,
|
||||
mSubTaskCoordinates, mRouteList, mProgress, (SweeperFragment) this);
|
||||
mWeltMapOverViewFragment = mWeltMapOverViewFragment.newInstance(
|
||||
(IWeltMapSwitchToSmallCallback) this,
|
||||
mCurrentTaskEndStation,
|
||||
mWeltDataBeanList,
|
||||
mSubTaskCoordinates,
|
||||
mRouteList,
|
||||
mProgress,
|
||||
(SweeperFragment) this);
|
||||
}
|
||||
if (mWeltMapOverViewFragment.isHidden()) {
|
||||
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
|
||||
@@ -476,6 +484,15 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
}
|
||||
}
|
||||
|
||||
public void setCurrentTaskEndMarker(LatLng subTaskCoordinate) {
|
||||
if (mMapWeltView != null) {
|
||||
mMapWeltView.setCurrentTaskCoordinatesLatLng(subTaskCoordinate);
|
||||
}
|
||||
if (mTaskDataToFragmentCallback != null) {
|
||||
mTaskDataToFragmentCallback.setCurrentTaskCoordinatesLatLng(subTaskCoordinate);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除marker标记和任务路线数据
|
||||
*/
|
||||
|
||||
@@ -52,7 +52,6 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
private var mLocation: MogoLocation? = null
|
||||
private var mSubInfo: SubInfo? = null
|
||||
|
||||
//当前经纬度
|
||||
override fun getTagName(): String {
|
||||
return "SweepersFragment"
|
||||
}
|
||||
@@ -312,7 +311,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
setEndStationMarker()
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -354,13 +353,14 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
for (index in it.indices) {
|
||||
sum += it[index].mileage
|
||||
}
|
||||
var current: Double = 0.0
|
||||
var completed: Double = 0.0
|
||||
for (index in it.indices) {
|
||||
if (index <= mCurrentSubPosition) {
|
||||
current += it[index].mileage
|
||||
if (index < mCurrentSubPosition) {
|
||||
// 已完成的子任务记入完成度,进行中的不计入
|
||||
completed += it[index].mileage
|
||||
}
|
||||
}
|
||||
val progress = "${((current / sum) * 100.0).roundToInt()}%"
|
||||
val progress = "${((completed / sum) * 100.0).roundToInt()}%"
|
||||
setTaskProgress(progress)
|
||||
}
|
||||
|
||||
@@ -430,7 +430,7 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否第一个子任务
|
||||
* 是否最后一个子任务
|
||||
*/
|
||||
fun isLastSubTask(): Boolean {
|
||||
return mCurrentSubPosition == (mSubMutableList?.size?.minus(1))
|
||||
@@ -476,10 +476,27 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
dataList.add(index+1,endLatLng)
|
||||
}
|
||||
setTaskListCoordinatesLatLng(dataList)
|
||||
setEndStationMarker()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setEndStationMarker(){
|
||||
lifecycleScope.launch(Dispatchers.IO) {
|
||||
mSubInfo?.let {
|
||||
val endPoint = CoordinateCalculateRouteUtil.coordinateConverterWgsToGcj(
|
||||
AbsMogoApplication.getApp(),
|
||||
it.endWgs84Lon,
|
||||
it.endWgs84Lat
|
||||
)
|
||||
super.mCurrentTaskEndStation = endPoint
|
||||
setCurrentTaskEndMarker(endPoint)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//模拟结束子任务
|
||||
override fun debugEndSubTask() {
|
||||
//mPresenter?.onArriveTaskEnd(null)
|
||||
|
||||
@@ -41,12 +41,16 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
|
||||
val bundle = arguments
|
||||
if (bundle != null) {
|
||||
val latLngs = bundle.getSerializable("subTaskCoordinates") as? ArrayList<LatLng>
|
||||
val latLng = bundle.getParcelable<LatLng>("subTaskEndCoordinates")
|
||||
val weltDataList = bundle.getSerializable("weltDataList") as? ArrayList<WeltDataBean>
|
||||
val routeList = bundle.getSerializable("routeList") as? ArrayList<SweeperRoutePlanningUpdateReqBean.Result>
|
||||
val progress = bundle.getString("progress")
|
||||
routeList?.let {
|
||||
weltMapOverView.setRouteList(it)
|
||||
}
|
||||
latLng?.let {
|
||||
setCurrentTaskCoordinatesLatLng(it)
|
||||
}
|
||||
latLngs?.let {
|
||||
setTaskListCoordinatesLatLng(it)
|
||||
}
|
||||
@@ -64,6 +68,7 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
|
||||
@JvmStatic
|
||||
fun newInstance(
|
||||
mIWeltMapSwitchToSmallCallBack: IWeltMapSwitchToSmallCallback,
|
||||
mCurrentTaskEndStation:LatLng?,
|
||||
weltDataList: ArrayList<WeltDataBean>?,
|
||||
latLngs: ArrayList<LatLng>?,
|
||||
routeList: ArrayList<SweeperRoutePlanningUpdateReqBean.Result>?,
|
||||
@@ -73,6 +78,7 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
|
||||
val args = Bundle()
|
||||
args.putSerializable("weltDataList", weltDataList)
|
||||
args.putSerializable("subTaskCoordinates", latLngs)
|
||||
args.putParcelable("subTaskEndCoordinates", mCurrentTaskEndStation)
|
||||
args.putSerializable("routeList", routeList)
|
||||
args.putString("progress", progress)
|
||||
val fragment = WeltMapOverViewFragment()
|
||||
@@ -101,6 +107,10 @@ class WeltMapOverViewFragment() : BaseFragment(), ISweeperTaskDataToFragmentCall
|
||||
weltMapOverView.setTaskListCoordinatesLatLng(coordinatesLatLng)
|
||||
}
|
||||
|
||||
override fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
|
||||
weltMapOverView.setCurrentTaskCoordinatesLatLng(coordinatesLatLng)
|
||||
}
|
||||
|
||||
override fun clearAllMarkerAndPolyline() {
|
||||
weltMapOverView.clearAllMarkerAndPolyline()
|
||||
}
|
||||
|
||||
@@ -750,7 +750,8 @@ public class SweeperTaskModel {
|
||||
SweeperServiceManager.subTaskEnd(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback<BaseResponse<Boolean>>() {
|
||||
@Override
|
||||
public void onSuccess(BaseResponse<Boolean> data) {
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskEnd:" + GsonUtil.jsonFromObject(data));
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskEnd:" +
|
||||
String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd) + GsonUtil.jsonFromObject(data));
|
||||
if (data != null) {
|
||||
if (data.getData()) {
|
||||
mIsSubTaskWorking = false;
|
||||
@@ -800,7 +801,8 @@ public class SweeperTaskModel {
|
||||
SweeperServiceManager.subTaskSkip(isFirst, isEnd, subTaskId, mContext, new OchCommonServiceCallback<BaseResponse<Boolean>>() {
|
||||
@Override
|
||||
public void onSuccess(BaseResponse<Boolean> data) {
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskSkip:" + GsonUtil.jsonFromObject(data));
|
||||
CallerLogger.INSTANCE.d(M_SWEEPER + TAG, "subTaskSkip:" +
|
||||
String.format("isFirst=%b; isEnd=%b; ", isFirst, isEnd)+ GsonUtil.jsonFromObject(data));
|
||||
if (mSweeperTaskCallback != null && data != null) {
|
||||
if (data.getData()) {
|
||||
mIsSubTaskWorking = false;
|
||||
|
||||
@@ -350,7 +350,7 @@ public class SweeperPresenter extends Presenter<SweeperFragment>
|
||||
weltDataBean.setCleanIntensity(roboSweeperTaskIndex.getCleanIntensity());
|
||||
weltDataBean.setSubTaskId(mSubTaskId);
|
||||
MyDataBase.getInstance().getWeltDataDao().insert(weltDataBean);
|
||||
String distance = format(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100);
|
||||
String distance = String.valueOf((Math.round(roboSweeperTaskIndex.getDistToRefEdgePoint() * 100)));//m->cm 四舍五入到整数
|
||||
mView.setWeltDataToMap((ArrayList<WeltDataBean>) MyDataBase.getInstance().getWeltDataDao().loadAllWeltDataInfo(), true, distance);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.CameraUpdateFactory
|
||||
import com.amap.api.maps.model.*
|
||||
@@ -33,7 +34,8 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
private var mAMap: AMap? = null
|
||||
private var mWeltPolylines: Polyline? = null
|
||||
private var mRoutePolylines: Polyline?=null
|
||||
private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
// private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
private var mEndStationMarker: Marker? = null
|
||||
private var mFirst: Boolean = false
|
||||
|
||||
//清扫车任务地图
|
||||
@@ -122,17 +124,17 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
}
|
||||
}
|
||||
if (weltDataBean.weltDistance == -9999.0) {//未经过
|
||||
colorList.add(Color.parseColor("#3BA1CC"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_3ba1cc))
|
||||
} else if (weltDataBean.weltDistance == -10000.0) {//非贴边
|
||||
colorList.add(Color.parseColor("#236299"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
|
||||
} else if (weltDataBean.weltDistance < 0) {
|
||||
colorList.add(Color.parseColor("#C22101"))
|
||||
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) {
|
||||
colorList.add(Color.parseColor("#4DFFA4"))
|
||||
} else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) {
|
||||
colorList.add(Color.parseColor("#FFDD4D"))
|
||||
} else if (weltDataBean.weltDistance >= 20) {
|
||||
colorList.add(Color.parseColor("#FF912B"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
|
||||
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 0.01) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_4dffa4))
|
||||
} else if (weltDataBean.weltDistance >= 0.010 && weltDataBean.weltDistance < 0.020) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ffdd4d))
|
||||
} else if (weltDataBean.weltDistance >= 0.020) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ff912b))
|
||||
}
|
||||
}
|
||||
return colorList
|
||||
@@ -191,25 +193,32 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
* 绘制起点和终点的marker
|
||||
*/
|
||||
private fun drawStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
|
||||
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_start_maker_icon)))
|
||||
startMarker?.position = startPoint
|
||||
mLineMarkers.add(startMarker)
|
||||
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
endMarker?.position = endPoint
|
||||
mLineMarkers.add(endMarker)
|
||||
// val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_start_maker_icon)))
|
||||
// startMarker?.position = startPoint
|
||||
// mLineMarkers.add(startMarker)
|
||||
// val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
// endMarker?.position = endPoint
|
||||
// mLineMarkers.add(endMarker)
|
||||
}
|
||||
|
||||
private fun drawEndMarker(endPoint: LatLng){
|
||||
mEndStationMarker?.remove()
|
||||
mEndStationMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_big_end_maker_icon)))
|
||||
mEndStationMarker?.position = endPoint
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除所有标记和路线
|
||||
*/
|
||||
fun clearAllMarkerAndPolyline() {
|
||||
for (i in mLineMarkers.indices) {
|
||||
mLineMarkers[i]?.isVisible = false
|
||||
mLineMarkers[i]?.remove()
|
||||
}
|
||||
// for (i in mLineMarkers.indices) {
|
||||
// mLineMarkers[i]?.isVisible = false
|
||||
// mLineMarkers[i]?.remove()
|
||||
// }
|
||||
mEndStationMarker?.remove()
|
||||
mWeltPolylines?.remove()
|
||||
mRoutePolylines?.remove()
|
||||
mLineMarkers.clear()
|
||||
// mLineMarkers.clear()
|
||||
//mFirst = false
|
||||
//showOrHiddenLegendData(false)
|
||||
}
|
||||
@@ -264,6 +273,14 @@ class WeltMapOverView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 设置当前大任务的所有子任务起终点集合
|
||||
*/
|
||||
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
|
||||
ThreadUtils.runOnUiThread {
|
||||
drawEndMarker(coordinatesLatLng)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置图例数据
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.widget.ImageView
|
||||
import androidx.constraintlayout.widget.ConstraintLayout
|
||||
import androidx.core.content.ContextCompat
|
||||
import com.amap.api.maps.AMap
|
||||
import com.amap.api.maps.CameraUpdateFactory
|
||||
import com.amap.api.maps.model.*
|
||||
@@ -34,7 +35,8 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
private var mAMap: AMap? = null
|
||||
private var mWeltPolylines: Polyline? = null
|
||||
private var mRoutePolylines: Polyline?=null
|
||||
private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
// private val mLineMarkers: MutableList<Marker?> = mutableListOf()
|
||||
private var endStationMarker:Marker? = null
|
||||
|
||||
//清扫车任务地图
|
||||
private val TAG = "WeltMapView"
|
||||
@@ -145,7 +147,7 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
mWeltPolylines?.remove()
|
||||
val polylineOptions = PolylineOptions()
|
||||
polylineOptions.addAll(coordinatesLatLngs)
|
||||
polylineOptions.width(30f) //线段宽度
|
||||
polylineOptions.width(14f) //线段宽度
|
||||
polylineOptions.isUseTexture = false
|
||||
polylineOptions.lineCapType(PolylineOptions.LineCapType.LineCapSquare)
|
||||
polylineOptions.colorValues(colorList)
|
||||
@@ -178,17 +180,17 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
}
|
||||
|
||||
if (weltDataBean.weltDistance == -9999.0) {//未经过
|
||||
colorList.add(Color.parseColor("#3BA1CC"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_3ba1cc))
|
||||
} else if (weltDataBean.weltDistance == -10000.0) {//非贴边
|
||||
colorList.add(Color.parseColor("#236299"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_236299))
|
||||
} else if (weltDataBean.weltDistance < 0) {
|
||||
colorList.add(Color.parseColor("#C22101"))
|
||||
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 10) {
|
||||
colorList.add(Color.parseColor("#4DFFA4"))
|
||||
} else if (weltDataBean.weltDistance >= 10 && weltDataBean.weltDistance < 20) {
|
||||
colorList.add(Color.parseColor("#FFDD4D"))
|
||||
} else if (weltDataBean.weltDistance >= 20) {
|
||||
colorList.add(Color.parseColor("#FF912B"))
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_c22101))
|
||||
} else if (weltDataBean.weltDistance >= 0 && weltDataBean.weltDistance < 0.010) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_4dffa4))
|
||||
} else if (weltDataBean.weltDistance >= 0.010 && weltDataBean.weltDistance < 0.020) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ffdd4d))
|
||||
} else if (weltDataBean.weltDistance >= 0.020) {
|
||||
colorList.add(ContextCompat.getColor(context,R.color.sweeper_ff912b))
|
||||
}
|
||||
}
|
||||
return colorList
|
||||
@@ -198,17 +200,17 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
* 添加起点和终点的marker
|
||||
*/
|
||||
private fun addStartAndEndMarker(startPoint: LatLng, endPoint: LatLng) {
|
||||
for (i in mLineMarkers.indices) {
|
||||
mLineMarkers[i]?.isVisible = false
|
||||
mLineMarkers[i]?.remove()
|
||||
}
|
||||
mLineMarkers.clear()
|
||||
val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_start_marker_icon)))
|
||||
startMarker?.position = startPoint
|
||||
mLineMarkers.add(startMarker)
|
||||
val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
|
||||
endMarker?.position = endPoint
|
||||
mLineMarkers.add(endMarker)
|
||||
// for (i in mLineMarkers.indices) {
|
||||
// mLineMarkers[i]?.isVisible = false
|
||||
// mLineMarkers[i]?.remove()
|
||||
// }
|
||||
// mLineMarkers.clear()
|
||||
// val startMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_start_marker_icon)))
|
||||
// startMarker?.position = startPoint
|
||||
// mLineMarkers.add(startMarker)
|
||||
// val endMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
|
||||
// endMarker?.position = endPoint
|
||||
// mLineMarkers.add(endMarker)
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -216,25 +218,35 @@ class WeltSmallMapView : ConstraintLayout, IMoGoChassisLocationGCJ02Listener {
|
||||
*/
|
||||
fun setTaskListCoordinatesLatLng(coordinatesLatLng: MutableList<LatLng>) {
|
||||
this.mTaskCoordinatesLatLng = coordinatesLatLng
|
||||
if (mTaskCoordinatesLatLng.size > 0) {
|
||||
d(
|
||||
SceneConstant.M_SWEEPER + TAG,
|
||||
"startPoint:${mTaskCoordinatesLatLng[0]} endPoint:${mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1]}"
|
||||
)
|
||||
addStartAndEndMarker(mTaskCoordinatesLatLng[0], mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1])
|
||||
}
|
||||
// if (mTaskCoordinatesLatLng.size > 0) {
|
||||
// d(
|
||||
// SceneConstant.M_SWEEPER + TAG,
|
||||
// "startPoint:${mTaskCoordinatesLatLng[0]} endPoint:${mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1]}"
|
||||
// )
|
||||
// addStartAndEndMarker(mTaskCoordinatesLatLng[0], mTaskCoordinatesLatLng[mTaskCoordinatesLatLng.size - 1])
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置当前大任务的所有子任务起终点集合
|
||||
*/
|
||||
fun setCurrentTaskCoordinatesLatLng(coordinatesLatLng: LatLng) {
|
||||
endStationMarker?.remove()
|
||||
endStationMarker = mAMap?.addMarker(MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.sweeper_small_end_marker_icon)))
|
||||
endStationMarker?.position = coordinatesLatLng
|
||||
}
|
||||
|
||||
/**
|
||||
* 清除所有标记和路线
|
||||
*/
|
||||
fun clearAllMarkerAndPolyline() {
|
||||
for (i in mLineMarkers.indices) {
|
||||
mLineMarkers[i]?.isVisible = false
|
||||
mLineMarkers[i]?.remove()
|
||||
}
|
||||
// for (i in mLineMarkers.indices) {
|
||||
// mLineMarkers[i]?.isVisible = false
|
||||
// mLineMarkers[i]?.remove()
|
||||
// }
|
||||
endStationMarker?.remove()
|
||||
mWeltPolylines?.remove()
|
||||
mLineMarkers.clear()
|
||||
// mLineMarkers.clear()
|
||||
mRoutePolylines?.remove()
|
||||
//mFirst = false
|
||||
//showOrHiddenWelt(false)
|
||||
|
||||
@@ -32,14 +32,15 @@
|
||||
android:text="跳过"
|
||||
android:textColor="#A6CEFF"
|
||||
android:textSize="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_16"/>
|
||||
android:padding="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_6"/>
|
||||
<View
|
||||
android:id="@+id/taskJumpLineView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="2dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="#4DA6CEFF"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvJumpOverTask"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
@@ -54,14 +55,15 @@
|
||||
android:text="结束"
|
||||
android:textColor="#A6CEFF"
|
||||
android:textSize="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_16"/>
|
||||
android:padding="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_6"/>
|
||||
<View
|
||||
android:id="@+id/taskFinishLineView"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="2dp"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:layout_marginTop="@dimen/dp_20"
|
||||
android:layout_marginTop="@dimen/dp_10"
|
||||
android:background="#4DA6CEFF"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvEndTask"
|
||||
android:layout_marginStart="@dimen/dp_16"
|
||||
@@ -76,10 +78,11 @@
|
||||
android:text="取消"
|
||||
android:textColor="#A6CEFF"
|
||||
android:textSize="@dimen/dp_30"
|
||||
android:layout_marginTop="@dimen/dp_16"/>
|
||||
android:padding="@dimen/dp_10"
|
||||
android:layout_marginTop="@dimen/dp_6"/>
|
||||
<Space
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="@dimen/dp_16"
|
||||
android:layout_height="@dimen/dp_6"
|
||||
app:layout_constraintStart_toEndOf="@+id/ivTriangle"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/tvCancelTask"/>
|
||||
|
||||
@@ -10,13 +10,14 @@
|
||||
android:layout_height="match_parent"/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperSwitchToSmall"
|
||||
android:layout_width="@dimen/dp_73"
|
||||
android:layout_height="@dimen/dp_73"
|
||||
android:layout_width="@dimen/dp_127"
|
||||
android:layout_height="@dimen/dp_127"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:src="@drawable/sweeper_full_screen_icon"
|
||||
android:layout_marginEnd="@dimen/dp_50"
|
||||
android:layout_marginTop="@dimen/dp_50"/>
|
||||
android:layout_marginEnd="@dimen/dp_23"
|
||||
android:layout_marginTop="@dimen/dp_23"
|
||||
android:padding="@dimen/dp_27"/>
|
||||
<com.mogo.och.common.module.wigets.OCHRoundConstraintLayout
|
||||
android:id="@+id/groupLegend"
|
||||
android:layout_width="@dimen/dp_380"
|
||||
@@ -36,7 +37,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="#3f69d9"
|
||||
android:textColor="@color/white"
|
||||
android:textColor="@android:color/white"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="6dp"
|
||||
@@ -50,11 +51,11 @@
|
||||
android:id="@+id/taskWeltDistanceTv"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="贴边:0.0cm"
|
||||
android:text="贴边:--cm"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
android:background="#3d98c7"
|
||||
android:textColor="@color/white"
|
||||
android:textColor="@android:color/white"
|
||||
app:layout_constraintStart_toEndOf="@+id/taskProgressTv"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
|
||||
@@ -14,14 +14,13 @@
|
||||
app:layout_constraintEnd_toEndOf="parent"/>
|
||||
<ImageView
|
||||
android:id="@+id/sweeperSwitchToBig"
|
||||
android:layout_width="@dimen/dp_60"
|
||||
android:layout_height="@dimen/dp_60"
|
||||
android:layout_width="@dimen/dp_100"
|
||||
android:layout_height="@dimen/dp_100"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
android:src="@drawable/sweeper_full_screen_icon"
|
||||
android:layout_marginEnd="@dimen/dp_20"
|
||||
android:layout_marginBottom="@dimen/dp_20"
|
||||
android:padding="@dimen/dp_10"/>
|
||||
|
||||
android:padding="@dimen/dp_30"/>
|
||||
<TextView
|
||||
android:id="@+id/taskProgressTv"
|
||||
android:layout_width="wrap_content"
|
||||
@@ -30,7 +29,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="#3f69d9"
|
||||
android:textColor="@color/white"
|
||||
android:textColor="@android:color/white"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
android:paddingLeft="6dp"
|
||||
@@ -41,10 +40,10 @@
|
||||
android:id="@+id/taskWeltDistanceTv"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="贴边:0.0cm"
|
||||
android:text="贴边:--cm"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
android:background="#3d98c7"
|
||||
android:textColor="@color/white"
|
||||
android:textColor="@android:color/white"
|
||||
app:layout_constraintStart_toEndOf="@+id/taskProgressTv"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="4dp"
|
||||
|
||||
@@ -50,4 +50,16 @@
|
||||
<color name="sweeper_operate_panel_btn2_bg_disabled">#3769B5</color>
|
||||
<color name="sweeper_operate_panel_btn2_bg_stroke">#BF30334C</color>
|
||||
|
||||
<!-- <0 //未经过-->
|
||||
<color name="sweeper_c22101">#C22101</color>
|
||||
<!-- [0,10) //未经过-->
|
||||
<color name="sweeper_4dffa4">#4DFFA4</color>
|
||||
<!-- [10,20) //未经过-->
|
||||
<color name="sweeper_ffdd4d">#FFDD4D</color>
|
||||
<!-- [20,) //未经过-->
|
||||
<color name="sweeper_ff912b">#FF912B</color>
|
||||
<!-- -9999.0 //未经过-->
|
||||
<color name="sweeper_3ba1cc">#3BA1CC</color>
|
||||
<!-- -10000.0 //非贴边-->
|
||||
<color name="sweeper_236299">#236299</color>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user