From d0dea0653d0b77ee6041d11cbd8aa00dc5810f8c Mon Sep 17 00:00:00 2001 From: donghongyu Date: Wed, 19 Jan 2022 11:48:21 +0800 Subject: [PATCH] =?UTF-8?q?[Upload]=20=E5=8F=91=E5=B8=83=E7=BB=99220?= =?UTF-8?q?=E7=89=88=E6=9C=AC=200.0.58.8=202.1.16.8=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=84=9F=E7=9F=A5=E5=88=B0=E6=9C=AA=E7=9F=A5=E7=B1=BB=E5=9E=8B?= =?UTF-8?q?=E7=9A=84=E7=BB=98=E5=88=B6=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: donghongyu --- .../eagle/core/data/enums/TrafficTypeEnum.kt | 6 +-- .../common/drawer/IdentifyDataDrawer.java | 52 ++++++++++++++----- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt index f3f7516287..6cb6aab617 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/TrafficTypeEnum.kt @@ -16,10 +16,10 @@ enum class TrafficTypeEnum( ) { TYPE_TRAFFIC_ID_WEI_ZHI( - 0, + 100, "未知数据", - R.raw.special_vehicle, - R.raw.special_vehicle + R.raw.v2x_shigong_warning, + R.raw.v2x_shigong_warning ), TYPE_TRAFFIC_ID_PEOPLE( 1, diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java index 64a3d07820..0d9278c64d 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/IdentifyDataDrawer.java @@ -34,6 +34,11 @@ public class IdentifyDataDrawer { */ private final ConcurrentHashMap mDirtyPositions = new ConcurrentHashMap<>(); + /** + * 过滤后的数据集合 + */ + private final ArrayList mFilterTrafficData = new ArrayList<>(); + private IdentifyDataDrawer() { mContext = AbsMogoApplication.getApp(); addPreVehicleModel(); @@ -73,18 +78,21 @@ public class IdentifyDataDrawer { } // 循环将集合中的数据提取记录 - ArrayList trafficDataUuidList = new ArrayList<>(); - for (TrafficData trafficData : resultList) { - trafficDataUuidList.add(trafficData.getUuid()); - } - - // 找出上一针数据中已经不在本次数据中存在的数据 - for (String uuid : mMarkersCaches.keySet()) { - if (!trafficDataUuidList.contains(uuid)) { - mDirtyPositions.put(uuid, mMarkersCaches.get(uuid)); - } - } - +// ArrayList trafficDataUuidList = new ArrayList<>(); +// for (TrafficData trafficData : resultList) { +// // 过滤掉未知感知数据 +// if (trafficData.getType() == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI) { +// //Logger.w(TAG, "未知感知类型数据,丢弃,不渲染"); +// continue; +// } +// trafficDataUuidList.add(trafficData.getUuid()); +// } +// // 找出上一针数据中已经不在本次数据中存在的数据 +// for (String uuid : mMarkersCaches.keySet()) { +// if (!trafficDataUuidList.contains(uuid)) { +// mDirtyPositions.put(uuid, mMarkersCaches.get(uuid)); +// } +// } // // 移除脏数据 // for (String uuid : mDirtyPositions.keySet()) { // MogoApisHandler.getInstance().getApis() @@ -97,10 +105,28 @@ public class IdentifyDataDrawer { MogoApisHandler.getInstance().getApis() .getMapServiceApi() .getMarkerManager(mContext) - .updateBatchMarkerPosition(resultList); + .updateBatchMarkerPosition(filterTrafficData(resultList)); } + /** + * 数据过滤器 + * + * @return 过滤后的数据集合 + */ + private ArrayList filterTrafficData(ArrayList trafficData) { + mFilterTrafficData.clear(); + for (TrafficData data : trafficData) { + // 过滤掉未知感知数据 + if (data.getType() == TrafficTypeEnum.TYPE_TRAFFIC_ID_WEI_ZHI) { + //Logger.w(TAG, "未知感知类型数据,丢弃,不渲染"); + continue; + } + mFilterTrafficData.add(data); + } + return mFilterTrafficData; + } + /** * 清除旧的 marker 数据