From 4cdb73b8f4a31d744187cad5d8c88e19c455fc25 Mon Sep 17 00:00:00 2001 From: liujing Date: Fri, 16 Apr 2021 20:52:30 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[add]=203d=E8=B5=84=E6=BA=90=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0(=E7=AE=AD=E5=A4=B4)=20=20=20=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E8=A1=8C=E9=A9=B6=E8=A7=92=E5=BA=A6=E8=B0=83=E6=95=B4=E7=AE=AD?= =?UTF-8?q?=E5=A4=B4=E8=A7=92=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constants/AdasRecognizedType.java | 2 +- .../mogo/module/common/drawer/BaseDrawer.java | 2 +- .../module/common/drawer/V2XWarnDataDrawer.java | 2 +- .../src/main/res/raw/arraw.n3d | Bin 0 -> 8105 bytes .../manager/impl/MoGoV2XCloundDataManager.java | 9 ++++++--- .../src/main/res/layout/window_test_console.xml | 2 +- .../res/raw/scenario_warning_event_data.json | 2 +- 7 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 modules/mogo-module-common/src/main/res/raw/arraw.n3d diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java index 4d130e0246..ac326ff0d9 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/constants/AdasRecognizedType.java @@ -42,7 +42,7 @@ enum AdasRecognizedType { } public static AdasRecognizedType[] VAL = { - classIdBackground, + classIdBackground,//0 classIdPerson, classIdBicycle, classIdCar, diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java index 81e9ad5495..960931c3cc 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/BaseDrawer.java @@ -229,7 +229,7 @@ class BaseDrawer { } else if (recognizedType == AdasRecognizedType.classIdStopLine) { return R.raw.stopline; } else if (recognizedType == AdasRecognizedType.classIdWarningArrows) { - return R.raw.stopline; + return R.raw.arraw; } return R.raw.people; } diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java index 31fc25fa4e..2115dbede1 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java @@ -125,7 +125,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL return marker; } - public void drawerArrowsMarkerWithLocation(MogoLatLng location, String markerType, int type) { + public void drawerArrowsMarkerWithLocation(MogoLatLng location, String markerType, int type, int period) { MogoMarkerOptions options = new MogoMarkerOptions() .latitude(location.getLat()) .longitude(location.getLon()); diff --git a/modules/mogo-module-common/src/main/res/raw/arraw.n3d b/modules/mogo-module-common/src/main/res/raw/arraw.n3d new file mode 100644 index 0000000000000000000000000000000000000000..ba973b34b6e21d139a034478b74ab0501d0a5d0a GIT binary patch literal 8105 zcmeHMO=uHA6n?c;<6>_9)T*$of?`c}leQ_lCapEGrqqk7fVkfqAjHdQH1zjHq&kcz39Qq4D7r&?|t*l%*)K= z!R)E7Tl-o2!#`z9f~|ifX6XKK8p`E3O7?y56pM2QnFoOM%X(GGK>Dj0(^shzrv8nI zCxn%U^!6{sqS+IGbi!LP1w~HXp0KlHbb7#-cfsPGeGG7^~g7u1ek7 zm(9(JAx>sz{4{?nKf|y%GrV;z48!727=|~09YO&7i*7RTdbid!4E3#xd z0ff9M9WS>^vcH`+aRtOK`2k3taso64Ov&u5O_Fd==FEQ6pEl)9^jYn!O>%x6;3~=k zOPiABXSK67$)5Wructf?N$PL4vo^_RL4en|DQVsJ#_;|)1F+H$aAI<6oB5#zf%IW1 z)B)V>?z&(X>I7`sJA#2;(^&(yU1+&=wEi}3`OaA1fH4rds6~=-XE>T1(w(_@iWtD# znoETvqq-pu>BF&vPg;HYToPkZpVZ$JQbH-eJ`xM&)B2@+S6?JQ8d0NCYm4B`X-E*) zjj))DUr%JToKGt8YN(T0mc$ao81+eQG@v*T>K6UUv@SL|J&uU0(JeNsPM1ef-HoS3 zx8iD+m1f!1;80we;?WvZv0S7ULG-4h*RBXt1(zpptPdL- z5z-SFmNc&a!I8mLfI~`0psg=A^KG%sUJ#*h_KxuT%FOt~iK)j~;n&Lg?3x_|y!`R= zcM9~fx0=L`y;R#2s>K4;vl1|AZ=888C;e9$)FHv_*DaU1YEkq!g@gXB2_zZ3Z} z;Hd%KhCDUksR3>So*K|$;Hd#m4fvhNj{#2&=r-i30Z$EZ8}QVC4g*gO{&#AyczEZd z!F`hxJ&Mr&;$$tpalLyl2*IUQd{G1FINueRJvTUEzR1$6Y!xglz{Y2_1Gr0mfZgy1 D@6snW literal 0 HcmV?d00001 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 39a0aec234..e2c35ccaba 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 @@ -7,6 +7,8 @@ import android.util.Log; import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.cloud.commons.utils.CoordinateUtils; import com.mogo.map.MogoLatLng; +import com.mogo.map.marker.IMogoMarker; +import com.mogo.map.marker.MogoMarkerOptions; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.overlay.IMogoPolyline; import com.mogo.module.common.MogoApisHandler; @@ -224,13 +226,14 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog private void addArrows(MogoLatLng startLatLng, MogoLatLng endLatLng) { float distance = CoordinateUtils.calculateLineDistance( startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat); + double period = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat); Log.d(TAG, "添加小箭头--目标物与预碰撞点之间的距离是" + String.valueOf(distance)); if (distance > 5) { int count = (int) (distance / 5); - for (int i = 0; i < count - 1; i++) { + for (int i = 0; i < count; i++) { MogoLatLng newLo = Trigonometric.getNewLocation( - startLatLng, 5 * (i + 1), 120); - V2XWarnDataDrawer.getInstance().drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10); + startLatLng, 5 * (i + 1), Trigonometric.getAngle(startLatLng.lon,startLatLng.lat,endLatLng.lon,endLatLng.lat)); + V2XWarnDataDrawer.getInstance().drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10, Integer.parseInt(String.valueOf(period))); } } //延迟3秒清理线 diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml index 5c509e9eeb..ce3007152d 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml @@ -482,7 +482,7 @@ android:layout_marginBottom="@dimen/dp_10" android:background="#8BC34A" android:padding="@dimen/dp_10" - android:text="adas预警数据发送" + android:text="车路云场景预警" android:textColor="#FFFFFF" android:textSize="@dimen/dp_22" app:layout_constraintBottom_toBottomOf="parent" 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 dd781a966a..0333d06e79 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 @@ -17,7 +17,7 @@ ], "from": 1, "angle": 0, - "direction": 1, + "direction": 2, "speed": 11.108121, "targetColor": "#FF4040", "stopLineDistance": 60, From cefa9a2c78d4d15f478b2dcfb8e94210ac845c19 Mon Sep 17 00:00:00 2001 From: liujing Date: Mon, 19 Apr 2021 17:07:38 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=AF=86=E5=88=AB=E7=89=A9=E4=B8=8E?= =?UTF-8?q?=E7=A2=B0=E6=92=9E=E7=82=B9=E4=B9=8B=E9=97=B4=E7=9A=84=E5=BC=95?= =?UTF-8?q?=E5=AF=BC=E7=AE=AD=E5=A4=B4=E8=A7=92=E5=BA=A6=E8=B0=83=E6=95=B4?= =?UTF-8?q?(=E6=9C=AA=E7=94=9F=E6=95=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/module/common/drawer/V2XWarnDataDrawer.java | 12 ++++++++---- .../v2x/manager/impl/MoGoV2XCloundDataManager.java | 7 ++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java index 2115dbede1..6bda8bd39e 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java @@ -125,12 +125,16 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL return marker; } - public void drawerArrowsMarkerWithLocation(MogoLatLng location, String markerType, int type, int period) { + public void drawerArrowsMarkerWithLocation(MogoLatLng location, String markerType, int type, int rotate) { MogoMarkerOptions options = new MogoMarkerOptions() .latitude(location.getLat()) - .longitude(location.getLon()); - options.icon3DRes(getModelRes(type)); //TODO - options.anchorColor("#FB3C3CFF"); //红色#FF3036 蓝色:#256BFF + .longitude(location.getLon()) + .set3DMode(true) + .controlAngle(true) + .rotate(rotate); + options.icon3DRes(getModelRes(type)); + options.flat(true); + options.anchorColor("#FB3C3CFF"); IMogoMarker marker = MogoApisHandler.getInstance().getApis().getMapServiceApi().getMarkerManager(mContext).addMarker(markerType, options); marker.setToTop(); } 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 e2c35ccaba..b3d5ab2c6c 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 @@ -160,7 +160,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog MogoLatLng endLatlng = new MogoLatLng(mogoLatLng.lat, mogoLatLng.lon); float distance = CoordinateUtils.calculateLineDistance(startLatLng.lon, startLatLng.lat, endLatlng.lon, endLatlng.lat); MogoLatLng addMiddleLoc = Trigonometric.getNewLocation(startLatLng, distance / 2, mCloundWarningInfo.getAngle()); - Log.d(V2XConst.LOG_NAME_WARN, "红色区域起始点 = " + startLatLng.lon + "," + startLatLng.lat + + Log.d(TAG, "红色区域起始点 = " + startLatLng.lon + "," + startLatLng.lat + "中间点坐标:" + addMiddleLoc.lon + "," + addMiddleLoc.lat + "终点" + endLatlng.lon + "," + endLatlng.lat); if (polyLine != null) { @@ -226,14 +226,15 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog private void addArrows(MogoLatLng startLatLng, MogoLatLng endLatLng) { float distance = CoordinateUtils.calculateLineDistance( startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat); - double period = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat); + double rotate = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat); Log.d(TAG, "添加小箭头--目标物与预碰撞点之间的距离是" + String.valueOf(distance)); if (distance > 5) { int count = (int) (distance / 5); for (int i = 0; i < count; i++) { MogoLatLng newLo = Trigonometric.getNewLocation( startLatLng, 5 * (i + 1), Trigonometric.getAngle(startLatLng.lon,startLatLng.lat,endLatLng.lon,endLatLng.lat)); - V2XWarnDataDrawer.getInstance().drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10, Integer.parseInt(String.valueOf(period))); + Log.d(TAG, "小箭头位置" + newLo); + V2XWarnDataDrawer.getInstance().drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10, new Double(rotate).intValue()); } } //延迟3秒清理线