From f91c92e1fd97066756a66767b78904048c42a532 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 26 May 2021 22:40:39 +0800 Subject: [PATCH] fix bug and add log --- .../drawer/AdasRecognizedResultDrawer.java | 4 +- .../common/drawer/SnapshotSetDataDrawer.java | 6 +- .../service/marker/MapMarkerManager.java | 80 ++++++++++--------- 3 files changed, 46 insertions(+), 44 deletions(-) diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java index b06bbdf117..25c7223016 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/AdasRecognizedResultDrawer.java @@ -181,8 +181,8 @@ class AdasRecognizedResultDrawer extends BaseDrawer { } long startTime = System.nanoTime(); // 预测点 - Log.d(FORECAST, "time internal : " + internal); - double foreCastDistance = adasResult.speed * internal; + Log.d(FORECAST, "time internal : " + internal + " speed : " + adasResult.speed); + double foreCastDistance = adasResult.speed * internal / 1000; Log.d(FORECAST, "foreCastDistance : " + foreCastDistance); MogoLatLng mogoLatLng = new MogoLatLng(adasResult.lat, adasResult.lon); MogoLatLng foreCastMogoLatLon = Trigonometric.getNewLocation(mogoLatLng, foreCastDistance, adasResult.heading); 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 02f2812a5d..7b86d12ca8 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 @@ -324,7 +324,7 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic } /** - * 过滤数据,对数据补点 //todo 重构 + * 过滤数据,对数据补点 * * @param in 输入集合 * @param out 输出集合 @@ -378,8 +378,8 @@ public class SnapshotSetDataDrawer extends BaseDrawer implements IMogoMarkerClic } long startTime = System.nanoTime(); // 预测点 - Log.d(FORECAST, "time internal : " + internal); - double foreCastDistance = proto.getSpeed() * internal; + Log.d(FORECAST, "time internal : " + internal + " speed : " + proto.getSpeed()); + double foreCastDistance = proto.getSpeed() * internal / 1000; Log.d(FORECAST, "foreCastDistance : " + foreCastDistance); MogoLatLng mogoLatLng = new MogoLatLng(proto.getWgslat(), proto.getWgslon()); MogoLatLng foreCastMogoLatLon = Trigonometric.getNewLocation(mogoLatLng, foreCastDistance, proto.getHeading()); diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index c59c133bbd..49904f554a 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -148,19 +148,21 @@ public class MapMarkerManager implements IMogoMarkerClickListener, @Override public void onMsgReceived(SocketDownData.LauncherSnapshotProto mogoSnapshotSetData) { DebugConfig.setStatus(DebugConfig.sDownloadSnapshot, true); - Message msg = mSnapshotHandler.obtainMessage(); - msg.obj = mogoSnapshotSetData; - msg.what = MSG_SNAPSHOT; - msg.sendToTarget(); + SnapshotSetDataDrawer.getInstance().renderSnapshotData(mogoSnapshotSetData); +// Message msg = mSnapshotHandler.obtainMessage(); +// msg.obj = mogoSnapshotSetData; +// msg.what = MSG_SNAPSHOT; +// msg.sendToTarget(); } }); // adas 每隔一定频率传递过来的数据 MarkerServiceHandler.getApis().getAdasControllerApi().addAdasRecognizedDataCallback(resultList -> { - Message msg = mSnapshotHandler.obtainMessage(); - msg.obj = resultList; - msg.what = MSG_ADAS; - msg.sendToTarget(); +// Message msg = mSnapshotHandler.obtainMessage(); +// msg.obj = resultList; +// msg.what = MSG_ADAS; +// msg.sendToTarget(); + AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult(resultList); //添加自车的定位图标,碰撞只有一个预警,还需要和adas 联调, // for ( ADASRecognizedResult result : resultList) { @@ -204,37 +206,37 @@ public class MapMarkerManager implements IMogoMarkerClickListener, // } // } - private final static int MSG_SNAPSHOT = 1; - private final static int MSG_ADAS = 2; - - /** - * todo 后续从云端和adas侧拿到的数据 需求对数据流进行重新架构以扩展除添加marker外的其他预警类业务 - * todo (应需要模块主动注册adas或云端数据回调,在具体模块内添加绘制需求,需要与地图侧确认是否支持并发) - */ - private final Handler mSnapshotHandler = new Handler(WorkThreadHandler.newInstance("snapshot-thread").getLooper()) { - @Override - public void handleMessage(Message msg) { - super.handleMessage(msg); - switch (msg.what) { - case MSG_SNAPSHOT: - if (msg.obj instanceof SocketDownData.LauncherSnapshotProto) { - SnapshotSetDataDrawer.getInstance().renderSnapshotData(((SocketDownData.LauncherSnapshotProto) msg.obj)); - } else { - SnapshotSetDataDrawer.getInstance().renderSnapshotData(null); - } - break; - case MSG_ADAS: - // 绘制近景识别到的车辆 - if (msg.obj instanceof List) { - List recognizedResults = (List) msg.obj; - AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult(recognizedResults); - } - break; - default: - break; - } - } - }; +// private final static int MSG_SNAPSHOT = 1; +// private final static int MSG_ADAS = 2; +// +// /** +// * todo 后续从云端和adas侧拿到的数据 需求对数据流进行重新架构以扩展除添加marker外的其他预警类业务 +// * todo (应需要模块主动注册adas或云端数据回调,在具体模块内添加绘制需求,需要与地图侧确认是否支持并发) +// */ +// private final Handler mSnapshotHandler = new Handler(WorkThreadHandler.newInstance("snapshot-thread").getLooper()) { +// @Override +// public void handleMessage(Message msg) { +// super.handleMessage(msg); +// switch (msg.what) { +// case MSG_SNAPSHOT: +// if (msg.obj instanceof SocketDownData.LauncherSnapshotProto) { +// SnapshotSetDataDrawer.getInstance().renderSnapshotData(((SocketDownData.LauncherSnapshotProto) msg.obj)); +// } else { +// SnapshotSetDataDrawer.getInstance().renderSnapshotData(null); +// } +// break; +// case MSG_ADAS: +// // 绘制近景识别到的车辆 +// if (msg.obj instanceof List) { +// List recognizedResults = (List) msg.obj; +// AdasRecognizedResultDrawer.getInstance().renderAdasRecognizedResult(recognizedResults); +// } +// break; +// default: +// break; +// } +// } +// }; /** * 地图上的Marker点击回调