From 915f8fcb1083a57c8c7b0e58d1dbf044f69eaef1 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Wed, 23 Aug 2023 10:59:09 +0800 Subject: [PATCH] [6.0.0]add func of track obj color filter --- .../identify/TrackerSourceFilterHelper.kt | 24 +++++++++++++++---- .../java/com/mogo/map/utils/ObjectUtils.java | 1 - 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt index d4109bbc66..af280144d0 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/business/identify/TrackerSourceFilterHelper.kt @@ -48,6 +48,14 @@ object TrackerSourceFilterHelper { return "" } + if(FunctionBuildConfig.isFusionColor){ + if(isFusion(data)){ + color = "#71F7FFFF" + } + if(isV2X(data)){ + color = "#F6F6F6FF" + } + } // if (isV2I(data).second) { // color = "#00AEFFFF" // } @@ -101,8 +109,16 @@ object TrackerSourceFilterHelper { /** * 是否为融合数据,融合数据来源size >=2 */ - fun isFusion(data: TrackedObject): Boolean { - return FunctionBuildConfig.isFusionColor && data.trackedSourceList.size > 1 + private fun isFusion(data: TrackedObject): Boolean { + return data.trackedSourceList.size > 1 + } + + @SuppressLint("NewApi") + private fun isV2X(data: TrackedObject): Boolean { + if (data.trackedSourceList.size == 1) { // 如果仅有一个类型 + return data.trackedSourceList.stream().allMatch { it.source == 2 } + } + return false } /** @@ -145,12 +161,12 @@ object TrackerSourceFilterHelper { .filter { trackedSource: TrackedSource -> trackedSource.source == 2 } .findFirst() if (first.isPresent) { - val subV2I = first.get().subSourceList.stream().allMatch { + val subV2I = first.get().subSourceList.stream().anyMatch { it.source == 6 } if (subV2I) { val subFirst = first.get().subSourceList.stream() - .filter { subSource: SubSource -> subSource.source == 6 } + .filter { subSource: SubSource -> (subSource.source == 6) } .findFirst() if (subFirst.isPresent) { return Pair(subFirst.get(), true) diff --git a/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java b/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java index 8e574e152f..328e7af299 100644 --- a/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java +++ b/libraries/mogo-map/src/main/java/com/mogo/map/utils/ObjectUtils.java @@ -114,7 +114,6 @@ public class ObjectUtils { markerOptions.setLat(trafficData.getLatitude()); markerOptions.setLon(trafficData.getLongitude()); markerOptions.setTime(Double.valueOf(trafficData.getSatelliteTime() * 1000).longValue()); - trafficData.getColor(); if(!trafficData.getColor().isEmpty()){ markerOptions.setColor(trafficData.getColor()); }else{