[SweeperCloud]refactor: 添加HD Marker使用wgsLocation;
feat: 添加 增加/删除 高级地图Markder 的Mock;
This commit is contained in:
@@ -59,6 +59,7 @@ import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Random;
|
||||
|
||||
import mogo.telematics.pad.MessagePad;
|
||||
|
||||
@@ -213,6 +214,24 @@ public abstract class BaseSweeperTabFragment<V extends IView, P extends Presente
|
||||
findViewById(R.id.btnSendTaskStatus).setOnClickListener(view ->
|
||||
SweeperCloudTaskUtils.mockSendCloudBigTaskStatus()
|
||||
);
|
||||
// 模拟 添加高精地图Marker
|
||||
findViewById(R.id.btnAddHDMarker).setOnClickListener(view -> {
|
||||
// 坐标地址:湖南省衡阳市雁峰区金龙坪街道科学城大道衡山科学城停车场
|
||||
SweeperCloudTaskUtils.mockAddHdMarker("marker_sweeper_subtask_123_start",
|
||||
112.57742887355035,
|
||||
26.82068193910221,
|
||||
true);
|
||||
// 坐标地址:湖南省衡阳市雁峰区岳屏镇雁鸣路
|
||||
SweeperCloudTaskUtils.mockAddHdMarker("marker_sweeper_subtask_123_end",
|
||||
112.56666738544979,
|
||||
26.822879976829867,
|
||||
false);
|
||||
}
|
||||
);
|
||||
// 模拟 移除高精地图Marker
|
||||
findViewById(R.id.btnRemoveHDMarker).setOnClickListener(view ->
|
||||
SweeperCloudTaskUtils.mockRemoveHDMarker()
|
||||
);
|
||||
mTrafficDataView.getSpeedImage().setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View v) {
|
||||
|
||||
@@ -883,8 +883,8 @@ class SweeperFragment : BaseSweeperTabFragment<SweeperFragment?, SweeperPresente
|
||||
val hdMarkerIdStart = "marker_sweeper_subtask_${subTask.subTaskId}_start"
|
||||
val hdMarkerIdEnd = "marker_sweeper_subtask_${subTask.subTaskId}_end"
|
||||
|
||||
val setStartMarkerRunnable = createSetHDMapMakerRunnable(hdMarkerIdStart, startPoint.longitude, startPoint.latitude, true)
|
||||
val setEndMarkerRunnable = createSetHDMapMakerRunnable(hdMarkerIdEnd, endPoint.longitude, endPoint.latitude, false)
|
||||
val setStartMarkerRunnable = createSetHDMapMakerRunnable(hdMarkerIdStart, startPoint.wgsLongitude, startPoint.wgsLatitude, true)
|
||||
val setEndMarkerRunnable = createSetHDMapMakerRunnable(hdMarkerIdEnd, endPoint.wgsLongitude, endPoint.wgsLatitude, false)
|
||||
val removeMarkerRunnable = createRemoveHDMapMakerRunnable()
|
||||
|
||||
val addSubTaskHDMarkRunnable = Runnable {
|
||||
|
||||
@@ -1,15 +1,22 @@
|
||||
package com.mogo.och.sweepercloud.util
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import com.elegant.utils.UiThreadHandler
|
||||
import com.google.protobuf.MessageOrBuilder
|
||||
import com.google.protobuf.TextFormat
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.map.overlay.core.Level
|
||||
import com.mogo.map.overlay.point.Point
|
||||
import com.mogo.och.common.module.utils.DateTimeUtil
|
||||
import com.mogo.och.common.module.utils.OCHThreadPoolManager
|
||||
import com.mogo.och.common.module.voice.VoiceNotice
|
||||
import com.mogo.och.sweepercloud.R
|
||||
import com.mogo.och.sweepercloud.callback.SweeperCloudDialogClickListener
|
||||
import com.mogo.och.sweepercloud.constant.SweeperConst
|
||||
import com.mogo.och.sweepercloud.model.SweeperTaskModel
|
||||
import com.mogo.och.sweepercloud.ui.dialog.SweeperCloudDialog
|
||||
import com.zhjt.mogo.adas.data.sweeper.SweeperCloudTask.MessageType
|
||||
@@ -232,6 +239,53 @@ object SweeperCloudTaskUtils {
|
||||
}, 10000)
|
||||
}
|
||||
|
||||
/**
|
||||
* 模式添加高精地图Marker
|
||||
*/
|
||||
@JvmStatic
|
||||
fun mockAddHdMarker(uuid: String, longitude: Double, latitude: Double, isStartMarker: Boolean) {
|
||||
//开启线程执行起终点marker设置
|
||||
val setMapMarkerRunnable = Runnable {
|
||||
val builder =
|
||||
Point.Options.Builder(SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END, Level.MAP_MARKER)
|
||||
.setId(uuid)
|
||||
.anchor(0.5f, 0.5f)
|
||||
.set3DMode(true)
|
||||
.isUseGps(true)
|
||||
.controlAngle(true)
|
||||
.icon3DRes(if (isStartMarker) R.raw.star_marker else R.raw.end_marker)
|
||||
.longitude(longitude)
|
||||
.latitude(latitude)
|
||||
val mapUIController = CallerMapUIServiceManager.getMapUIController()
|
||||
if (mapUIController != null) {
|
||||
val centerLine = mapUIController.getCenterLineInfo(longitude, latitude, -1f)
|
||||
if (null != centerLine) { // 有可能鹰眼map为空没有角度。判空使用后可能造成maker角度跟道路角度不一致 地图未初始化会返回空
|
||||
val angle = centerLine.angle
|
||||
if (angle != null) {
|
||||
builder.rotate(angle.toFloat())
|
||||
}
|
||||
}
|
||||
}
|
||||
val overlayManager = CallerMapUIServiceManager.getOverlayManager()
|
||||
Log.d(TAG, "CallerMapUIServiceManager.getOverlayManager()=$overlayManager")
|
||||
overlayManager?.showOrUpdatePoint(builder.build())
|
||||
}
|
||||
OCHThreadPoolManager.getsInstance().execute(setMapMarkerRunnable)
|
||||
}
|
||||
|
||||
/**
|
||||
* 模拟 移除高精地图Marker
|
||||
*/
|
||||
@JvmStatic
|
||||
fun mockRemoveHDMarker() {
|
||||
//开启线程移除起终点marker设置
|
||||
val removeMapMarkerRunnable = Runnable {
|
||||
val overlayManager = CallerMapUIServiceManager.getOverlayManager()
|
||||
overlayManager?.removeAllPointsInOwner(SweeperConst.TYPE_MARKER_SWEEPER_SUBTASK_START_END)
|
||||
}
|
||||
OCHThreadPoolManager.getsInstance().execute(removeMapMarkerRunnable)
|
||||
}
|
||||
|
||||
private fun getDriverSn(): String? {
|
||||
return MoGoAiCloudClientConfig.getInstance().sn
|
||||
}
|
||||
|
||||
@@ -256,13 +256,35 @@
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendSubtaskStatus"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnSendSubtaskStatus" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnAddHDMarker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#000000"
|
||||
android:text="添加高精地图Marker"
|
||||
android:textColor="#f30"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnSendTaskStatus"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnSendTaskStatus" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btnRemoveHDMarker"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="#000000"
|
||||
android:text="移除高精地图Marker"
|
||||
android:textColor="#a90"
|
||||
android:textSize="30sp"
|
||||
app:layout_constraintRight_toRightOf="@id/btnAddHDMarker"
|
||||
app:layout_constraintTop_toBottomOf="@id/btnAddHDMarker" />
|
||||
|
||||
<androidx.constraintlayout.widget.Group
|
||||
android:id="@+id/groupTestPanel"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:constraint_referenced_ids="btnStartAutopilot,btnQueryCurrentTask,btnSendTask,btnSendSubTaskConfirm,btnSendEndTask
|
||||
,btnSendSubtaskStatus,btnSendTaskStatus"
|
||||
,btnSendSubtaskStatus,btnSendTaskStatus,btnAddHDMarker,btnRemoveHDMarker"
|
||||
tools:visibility="visible" />
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user