From b0937b112966aceb9b7a00814b1b49ff56fe82d4 Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 1 Apr 2021 14:37:37 +0800 Subject: [PATCH 1/5] opt --- .../module/common/constants/DataTypes.java | 5 ++ .../common/drawer/SnapshotSetDataDrawer.java | 61 ++++++++----------- .../mogo/module/v2x/V2XModuleProvider.java | 1 - .../com/mogo/module/v2x/V2XWaringManager.java | 30 ++++----- .../module/v2x/entity/model/DrawLineInfo.java | 10 +++ .../impl/MoGoPersonWarnPolylineManager.java | 24 +++++--- .../impl/MoGoV2XCloundDataManager.java | 12 +++- .../manager/impl/MoGoWarnPolylineManager.java | 7 +-- .../receiver/AdasDataBroadcastReceiver.java | 5 +- 9 files changed, 89 insertions(+), 66 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/DataTypes.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/DataTypes.java index bce9c3fdc7..07dfb1fbb2 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/DataTypes.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/DataTypes.java @@ -18,6 +18,11 @@ class DataTypes { */ public static final String TYPE_MARKER_CLOUD_DATA = "TYPE_MARKER_CLOUD_DATA"; + /** + * 云端下发数据 + */ + public static final String TYPE_MARKER_CLOUD_WARN_DATA = "TYPE_MARKER_CLOUD_WARN_DATA"; + /** * Push 事件场景 VR */ diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java index 9834fa2002..305520801b 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/SnapshotSetDataDrawer.java @@ -143,43 +143,39 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic * @param data 道路数据 * @return {@link IMogoMarker} */ -// public IMogoMarker drawWarnDataMarker( V2XWarningEntity data ) { -// if ( data == null ) { -// return null; -// } -// -// MogoMarkerOptions options = new MogoMarkerOptions() -// .owner( DataTypes.TYPE_MARKER_CLOUD_DATA ) -// .anchor( 0.5f, 0.5f ) -// .rotate( ( float ) data.getHeading() ) -// .object( data ) -// .gps( true ) -// .controlAngle( true ) -// .position( new MogoLatLng( data.getWgslat(), data.getWgslon() ) ); -// String resIdVal = null; -// if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { -// options.set3DMode( true ); -// // TODO: 2021/3/23 后端算法提供显示颜色 -// options.anchorColor( getModelRenderColor( data.getType(), data.getSpeed(), data.getWgslon(), data.getWgslat(), data.getHeading() ) ); -// int resId = getModelRes( data.getType() ); -// resIdVal = resId + ""; + public IMogoMarker drawWarnDataMarker( V2XWarningEntity data ) { + if ( data == null ) { + return null; + } + + MogoMarkerOptions options = new MogoMarkerOptions() + .owner( DataTypes.TYPE_MARKER_CLOUD_DATA ) + .anchor( 0.5f, 0.5f ) + .rotate( ( float ) data.getHeading() ) + .object( data ) + .gps( true ) + .controlAngle( true ) + .position( new MogoLatLng( data.getLat(), data.getLon())); + + String resIdVal = null; + if ( MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { + options.set3DMode( true ); + options.anchorColor(data.color); + int resId = getModelRes( data.getType() ); + resIdVal = resId + ""; // options.resName( mMarkerCachesResMd5Values.get( resIdVal ) ); -// options.icon3DRes( resId ); -// } else { + options.icon3DRes( resId ); + } else { // options.set3DMode( false ); // View view = inflateView( data ); // options.icon( view ); // resIdVal = view.getId() + ""; -// } -// IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( mContext ).addMarker( DataTypes.TYPE_MARKER_CLOUD_DATA, options ); + } + IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager( mContext ).addMarker( DataTypes.TYPE_MARKER_CLOUD_DATA, options ); // cacheMarkerIconResMd5Val( resIdVal, marker ); -// -// if ( !TextUtils.isEmpty( data.getSn() ) ) { -// bindClickListener( marker ); -// } -// -// return marker; -// } + + return marker; + } /** @@ -187,17 +183,14 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic * @param data */ // public void renderWarnData(V2XWarningEntity data ) { -// // IMogoMarker marker = drawWarnDataMarker(data); // // if ( marker == null ) { // continue; // } // -// // renderSnapshotOneFrame( marker, uniqueKey, cloudRoadData, newMarkersCaches ); // -// // } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java index f6178c986d..2e3dd68156 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XModuleProvider.java @@ -303,7 +303,6 @@ public class V2XModuleProvider implements V2XServiceManager.getV2XMarkerService().startAutoRefresh(); // 锁车就是将地图视图移植中心点,因为行驶中的车和地图要相对的跟随 V2XServiceManager.getMapUIController().recoverLockMode(); - Log.d(V2XConst.LOG_NAME_WARN, "V2XModuleProvider ------> "); //注册adas数据通道 V2XWaringManager.getInstance().registerAdasSocketMessage(mContext); } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java index 2dc4c068fe..d7247e54cc 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/V2XWaringManager.java @@ -56,7 +56,7 @@ public class V2XWaringManager { //根据云端,绘制自车和交点,以及行人或二轮车与交点的绘制 registerWarnListener(); - handleAdasData(); +// handleAdasData(); } /** @@ -92,26 +92,35 @@ public class V2XWaringManager { /** * 处理adas返回的数据 */ - private void handleAdasData() { - Log.d(V2XConst.LOG_NAME_WARN, "V2XWaringManager ---- handleAdasData "); + public void handleAdasData() { + Logger.d(V2XConst.LOG_NAME_WARN, "V2XWaringManager ---- handleAdasData "); - // 绘制连接线 TODO 来的是列表数据 + // 绘制连接线 DrawLineInfo info1 = new DrawLineInfo(); MogoLatLng startLatlng1 = new MogoLatLng(39.968919,116.407642); MogoLatLng endLatlng1 = new MogoLatLng(40.010906,116.423821); + info1.setHeading(10); info1.setStartLocation(startLatlng1); info1.setEndLocation(endLatlng1); + +// if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { +// float roadWidth = V2XServiceManager.getMapUIController().getRoadWidth(116.411194781192, +// 39.9808395231999, 10, true, true); +// Log.d(V2XConst.LOG_NAME_WARN, "roadWidth = " + roadWidth); +// info1.setWidth(roadWidth); +// } + V2XServiceManager.getMoGoWarnPolylineManager().drawWarnPolyline(getContext(), info1); // adas 每隔一秒传递的他车或行人数据 V2XServiceManager.getmIMogoADASController().addAdasRecognizedDataCallback(resultList -> { - // 绘制近景识别到的车辆,行人和二轮车 TODO + // 绘制近景识别到的车辆,行人和二轮车 AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult( resultList ); //清理 V2XServiceManager.getMoGoWarnPolylineManager().clearLine(); - // 绘制连接线 TODO 来的是列表数据 + // 绘制连接线 DrawLineInfo info = new DrawLineInfo(); MogoLatLng startLatlng = new MogoLatLng(39.969247,116.407299); MogoLatLng endLatlng = new MogoLatLng(39.971089,116.407384); @@ -133,15 +142,6 @@ public class V2XWaringManager { double lat = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat(); Log.d(V2XConst.LOG_NAME_WARN, "lon = " + lon + "----lat = " + lat); - //绘制自车数据 liyz -// DrawLineInfo info = new DrawLineInfo(); -// MogoLatLng startLatlng = new MogoLatLng(lat,lon); //我的位置 -// MogoLatLng endLatlng = new MogoLatLng(39.971089,); //交点位置 -// info.setStartLocation(startLatlng); -// info.setEndLocation(endLatlng); -// V2XServiceManager.getMoGoWarnPolylineManager().drawableWarnPolyline(mContext, info); - - } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/model/DrawLineInfo.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/model/DrawLineInfo.java index d18ba99ee7..e6a68b6331 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/model/DrawLineInfo.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/entity/model/DrawLineInfo.java @@ -20,6 +20,8 @@ public class DrawLineInfo { private double heading; + private float width; + public String getType() { return type; } @@ -51,4 +53,12 @@ public class DrawLineInfo { public void setHeading(double heading) { this.heading = heading; } + + public float getWidth() { + return width; + } + + public void setWidth(float width) { + this.width = width; + } } diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoPersonWarnPolylineManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoPersonWarnPolylineManager.java index 19c96ecc65..43e5a4eb06 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoPersonWarnPolylineManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoPersonWarnPolylineManager.java @@ -25,6 +25,10 @@ public class MoGoPersonWarnPolylineManager implements IMoGoPersonWarnPolylineMan @Override public void drawPersonWarnPolyline(Context context, DrawLineInfo info) { + if (info == null) { + return; + } + try { if (mMogoPolyline != null) { mMogoPolyline.remove(); @@ -33,24 +37,26 @@ public class MoGoPersonWarnPolylineManager implements IMoGoPersonWarnPolylineMan // 连接线参数 MogoPolylineOptions options = new MogoPolylineOptions(); - float roadWidth = V2XServiceManager.getMapUIController().getRoadWidth(info.getStartLocation().lon, - info.getStartLocation().lat, (float) info.getHeading(), true, true); - // 渐变色 List colors = new ArrayList<>(); - if (info.getType().equals("1")) { //预警 TODO - colors.add(0xFFFFA31A); - colors.add(0xFFFFA31A); + if (info.getType() != null) { + if (info.getType().equals("1")) { //预警 TODO + colors.add(0xFFFFA31A); + colors.add(0xFFFFA31A); + } else { + colors.add(0xFFE32F46); + colors.add(0xFFE32F46); + } } else { colors.add(0xFFE32F46); colors.add(0xFFE32F46); } // 线条粗细,渐变,渐变色值 - Log.d(V2XConst.LOG_NAME_WARN, "MoGoPersonWarnPolylineManager roadWidth = " + roadWidth); - options.width(roadWidth).useGradient(true).colorValues(colors); -// options.width(60).useGradient(true).colorValues(colors); +// Logger.d(V2XConst.LOG_NAME_WARN, "MoGoPersonWarnPolylineManager roadWidth = " + roadWidth); + options.width(60).useGradient(true).colorValues(colors); +// options.width(info.getWidth()).useGradient(true).colorValues(colors); // 当前车辆位置 options.add(info.getStartLocation()); // 目标车辆位置 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java index 420e8da55e..ebd2cbacb5 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java @@ -8,6 +8,7 @@ import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.map.MogoLatLng; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.overlay.IMogoPolyline; +import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.drawer.SnapshotSetDataDrawer; import com.mogo.module.common.entity.V2XWarningEntity; import com.mogo.module.v2x.MoGoV2XServicePaths; @@ -29,7 +30,6 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog @Override public void init(Context context) { - } @Override @@ -42,7 +42,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog drawOtherObjectLine(cloundWarningInfo); //二轮车和行人的移动和渲染 -// SnapshotSetDataDrawer.getInstance().renderSnapshotData(); +// SnapshotSetDataDrawer.getInstance().renderWarnData(cloundWarningInfo); } @@ -64,6 +64,14 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog lineInfo.setStartLocation(startLatlng); lineInfo.setEndLocation(endLatlng); lineInfo.setHeading(info.heading); + if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode() ) { +// float roadWidth = V2XServiceManager.getMapUIController().getRoadWidth(116.411194781192, +// 39.9808395231999, 10, true, true); + float roadWidth = V2XServiceManager.getMapUIController().getRoadWidth(info.getLon(), + info.getLat(), (float) info.heading, true, true); + Log.d(V2XConst.LOG_NAME_WARN, "roadWidth = " + roadWidth); + lineInfo.setWidth(roadWidth); + } V2XServiceManager.getMoGoPersonWarnPolylineManager().drawPersonWarnPolyline(getContext(), lineInfo); } } else { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoWarnPolylineManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoWarnPolylineManager.java index 07cf944aee..9752a13441 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoWarnPolylineManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoWarnPolylineManager.java @@ -38,12 +38,11 @@ public class MoGoWarnPolylineManager implements IMoGoWarnPolylineManager { mMogoPolyline.remove(); } + Log.d(V2XConst.LOG_NAME_WARN, "MoGoWarnPolylineManager --------> "); + // 连接线参数 MogoPolylineOptions options = new MogoPolylineOptions(); -// float roadWidth = V2XServiceManager.getMapUIController().getRoadWidth(info.getStartLocation().lon, -// info.getStartLocation().lat, (float) info.getHeading(), true, true); - List colors = new ArrayList<>(); if (info.getType() != null) { @@ -63,7 +62,7 @@ public class MoGoWarnPolylineManager implements IMoGoWarnPolylineManager { // Log.d(V2XConst.LOG_NAME_WARN, "MoGoWarnPolylineManager roadWidth = " + roadWidth); // 线条粗细,渐变,渐变色值 options.width(60).useGradient(true).colorValues(colors); -// options.width(roadWidth).useGradient(true).colorValues(colors); +// options.width(info.getWidth()).useGradient(true).colorValues(colors); // 当前车辆位置 options.add(info.getStartLocation()); // 目标车辆位置 diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/AdasDataBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/AdasDataBroadcastReceiver.java index 62905c22a0..2939319bae 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/AdasDataBroadcastReceiver.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/AdasDataBroadcastReceiver.java @@ -23,7 +23,10 @@ public class AdasDataBroadcastReceiver extends BroadcastReceiver { // Logger.d(V2XConst.LOG_NAME_WARN, "AdasDataBroadcastReceiver -->" + GsonUtil.jsonFromObject(adasResult)); String adasResult = (String) intent.getSerializableExtra(V2XConst.BROADCAST_ADAS_EXTRA_KEY); Log.d(V2XConst.LOG_NAME_WARN, "AdasDataBroadcastReceiver -----> "); - V2XWaringManager.getInstance().registerAdasSocketMessage(context); +// V2XWaringManager.getInstance().registerAdasSocketMessage(context); + V2XWaringManager.getInstance().handleAdasData(); + + } catch (Exception e) { e.printStackTrace(); From 9cbfe7164433d68bc570bdb3af19fec13bfcd5fd Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 31 Mar 2021 22:03:15 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=B9=B3=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../scene/warning/V2XWarningMarker.java | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java index f365363897..5d96a63fbb 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java @@ -1,6 +1,7 @@ package com.mogo.module.v2x.scenario.scene.warning; import android.content.Context; + import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; import com.mogo.map.marker.MogoMarkerOptions; @@ -16,6 +17,9 @@ import com.mogo.module.v2x.entity.model.DrawLineInfo; import com.mogo.module.v2x.scenario.view.IV2XMarker; import com.mogo.utils.WorkThreadHandler; +import java.util.ArrayList; +import java.util.List; + /** * @author liujing * @description 描述 @@ -40,23 +44,14 @@ public class V2XWarningMarker implements IV2XMarker { if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) { clearPOI(); WorkThreadHandler.getInstance().postDelayed(() -> { - MogoMarkerOptions options = new MogoMarkerOptions() - .object(markerShowEntity) - .latitude(markerShowEntity.getMarkerLocation().getLat()) - .longitude(markerShowEntity.getMarkerLocation().getLon()); - IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options); - options.icon3DRes(com.mogo.module.service.R.raw.people); - options.anchorColor("#FF4040"); - IMogoMarker marker = V2XServiceManager.getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); - iMarkerView.setMarker(marker); - marker.setToTop(); + IMogoMarker marker = drawMarker(markerShowEntity); + //如果有预警碰撞点,识别物与预警碰撞点之间连线,并执行平移动画 + if (mMarkerEntity.getCollisionLat() > 0 && mMarkerEntity.getCollisionLon() != 0) { + drawLine(); + smooth(marker); + } }, 0); - //如果有预警碰撞点,识别物与预警碰撞点之间连线,并执行平移动画 - if (mMarkerEntity.getCollisionLat() > 0 && mMarkerEntity.getCollisionLon() != 0) { - drawLine(); - smooth(); - } } else { } @@ -66,6 +61,20 @@ public class V2XWarningMarker implements IV2XMarker { } + public IMogoMarker drawMarker(MarkerShowEntity markerShowEntity) { + MogoMarkerOptions options = new MogoMarkerOptions() + .object(markerShowEntity) + .latitude(markerShowEntity.getMarkerLocation().getLat()) + .longitude(markerShowEntity.getMarkerLocation().getLon()); + IMarkerView iMarkerView = MapMarkerAdapter.getMarkerView(mContext, markerShowEntity, options); + options.icon3DRes(com.mogo.module.service.R.raw.people); + options.anchorColor("#FF4040"); + IMogoMarker marker = V2XServiceManager.getMarkerManager().addMarker(markerShowEntity.getMarkerType(), options); + iMarkerView.setMarker(marker); + marker.setToTop(); + return marker; + } + public void drawLine() { DrawLineInfo drawLineInfo = new DrawLineInfo(); MogoLatLng slatLng = new MogoLatLng(mMarkerEntity.getLat(), mMarkerEntity.getLon()); @@ -75,8 +84,9 @@ public class V2XWarningMarker implements IV2XMarker { V2XServiceManager.getMoGoWarnPolylineManager().drawWarnPolyline(mContext, drawLineInfo); } - public void smooth() { - + public void smooth(IMogoMarker marker) { + List latLngs = new ArrayList<>(); + marker.startSmoothInMs(15000); } @Override From 2b417499c57949245e4ebb9d8fdc76a5b698bcab Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 31 Mar 2021 22:13:43 +0800 Subject: [PATCH 3/5] no message --- .../module/v2x/scenario/scene/warning/V2XWarningMarker.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java index 5d96a63fbb..c1a2228efe 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java @@ -86,7 +86,9 @@ public class V2XWarningMarker implements IV2XMarker { public void smooth(IMogoMarker marker) { List latLngs = new ArrayList<>(); - marker.startSmoothInMs(15000); + MogoLatLng sLocation = new MogoLatLng(mMarkerEntity.getLat(), mMarkerEntity.getLon()); + MogoLatLng endLocation = new MogoLatLng(mMarkerEntity.getCollisionLat(), mMarkerEntity.getCollisionLon()); + marker.startSmoothInMs(latLngs, 15000); } @Override From 1b113c29dd677cfa15fdc1aa278807ba1b11183c Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 31 Mar 2021 22:14:46 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=B9=B3=E7=A7=BB=E7=82=B9=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/v2x/scenario/scene/warning/V2XWarningMarker.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java index c1a2228efe..3d9385946c 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java @@ -88,6 +88,8 @@ public class V2XWarningMarker implements IV2XMarker { List latLngs = new ArrayList<>(); MogoLatLng sLocation = new MogoLatLng(mMarkerEntity.getLat(), mMarkerEntity.getLon()); MogoLatLng endLocation = new MogoLatLng(mMarkerEntity.getCollisionLat(), mMarkerEntity.getCollisionLon()); + latLngs.add(sLocation); + latLngs.add(endLocation); marker.startSmoothInMs(latLngs, 15000); } From 959304efe81eebf51c1aad7bf28ad993a92f643b Mon Sep 17 00:00:00 2001 From: liujing Date: Thu, 1 Apr 2021 15:15:41 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=B9=B3=E7=A7=BB+=E5=8F=96=E6=B6=88?= =?UTF-8?q?=E7=94=BB=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/gradle.xml | 1 - .../v2x/scenario/scene/warning/V2XWarningMarker.java | 11 ++++++++++- .../src/main/res/raw/scenario_warning_event_data.json | 8 ++++---- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 4ff10f68a5..83405b8de1 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -91,7 +91,6 @@ diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java index 3d9385946c..f2492e97ba 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/scenario/scene/warning/V2XWarningMarker.java @@ -19,6 +19,7 @@ import com.mogo.utils.WorkThreadHandler; import java.util.ArrayList; import java.util.List; +import java.util.logging.Handler; /** * @author liujing @@ -90,11 +91,19 @@ public class V2XWarningMarker implements IV2XMarker { MogoLatLng endLocation = new MogoLatLng(mMarkerEntity.getCollisionLat(), mMarkerEntity.getCollisionLon()); latLngs.add(sLocation); latLngs.add(endLocation); - marker.startSmoothInMs(latLngs, 15000); + marker.startSmoothInMs(latLngs, 3000); + + WorkThreadHandler.getInstance().postDelayed(() -> { + clearLine(); + }, 3_000); } @Override public void clearPOI() { V2XServiceManager.getMarkerManager().removeMarkers(V2XConst.V2X_FRONT_WARNING_MARKER); } + + public void clearLine() { + V2XServiceManager.getMoGoWarnPolylineManager().clearLine(); + } } diff --git a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json index d514923ffe..d04415ae80 100644 --- a/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json +++ b/modules/mogo-module-v2x/src/main/res/raw/scenario_warning_event_data.json @@ -3,16 +3,16 @@ "lat":39.977148, "lon":116.417478, "distance": 2.22, - "collisionLat": 39.977131, - "collisionLon": 116.417741, + "collisionLat": 39.977094, + "collisionLon": 116.417634, "from": 1, "angle": 120, "direction": 10014, "speed":11.108121, "targetColor": "#FF4040", "stopLineDistance":20, - "stopLineLat": 39.977123, - "stopLineLon": 116.417537, + "stopLineLat": 39.977094, + "stopLineLon": 116.417634, "warningContent": "小心行人", "heading": 30 } \ No newline at end of file