From 9cbfe7164433d68bc570bdb3af19fec13bfcd5fd Mon Sep 17 00:00:00 2001 From: liujing Date: Wed, 31 Mar 2021 22:03:15 +0800 Subject: [PATCH 1/4] =?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 2/4] 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 3/4] =?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 4/4] =?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