From dd73a861c9ff33825fcb41da90d69269475bc542 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Fri, 24 Jun 2022 13:13:14 +0800 Subject: [PATCH] add func of tracker set color --- .../map/identify/IdentifyOriginDataDrawer.kt | 62 +++++++++---------- .../java/com/mogo/map/utils/ObjectUtils.java | 3 + .../routeoverlay/RouteOverlayDrawer.java | 10 +-- 3 files changed, 39 insertions(+), 36 deletions(-) diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt index e39ae44c44..418b0cc439 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/map/identify/IdentifyOriginDataDrawer.kt @@ -13,6 +13,7 @@ import mogo.telematics.pad.MessagePad.TrackedObject import java.util.* import java.util.concurrent.ConcurrentHashMap import java.util.function.Consumer +import kotlin.collections.ArrayList /** * @author xiaoyuzhou @@ -52,37 +53,36 @@ class IdentifyOriginDataDrawer : Identify { //todo reset color override fun renderPlanningWarningObj(planningObjects: List?) { -// if (planningObjects == null) { -// if (colorTrafficData.size == 0) { -// return -// } -// colorTrafficData.forEach { -// val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧 -// if (cacheData != null) { -// mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build() -// } -// } -// colorTrafficData.clear() -// return -// } -// val tempTrafficData = ArrayList() -// planningObjects.forEach { -// val trackId = it.uuid.toString() -// val cacheData = mMarkersCaches[trackId] -// if (cacheData != null) { -// colorTrafficData.add(trackId) -// when (it.type) { -// 0 -> { -// tempTrafficData.add(cacheData.toBuilder().setColor("#FF3C45FF").build()) -// } -// 1 -> { -// tempTrafficData.add(cacheData.toBuilder().setColor("#FFD53EFF").build()) -// } -// } -// } -// MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) -// .updateBatchMarkerPosition(tempTrafficData) -// } +// todo test code 用于模拟感知物 +// val resultList: ArrayList = ArrayList() +// val obj = TrackedObject.newBuilder().setUuid(67025).setLongitude(112.57413261072935).setLatitude(26.821571389153718).setHeading(329.9748205834151).setSpeed(0.0).setType(3).build() +// resultList.add(obj) +// renderAdasRecognizedResult(resultList) + + if (planningObjects == null) { + if (colorTrafficData.size == 0) { + return + } + colorTrafficData.forEach { + val cacheData = mMarkersCaches[it] //todo 是否要直接绘制 还是等下一帧 + if (cacheData != null) { + mMarkersCaches[it] = cacheData.toBuilder().setColor("#D8D8D8FF").build() + } + } + colorTrafficData.clear() + return + } + val tempTrafficData = ArrayList() + planningObjects.forEach { + val trackId = it.uuid.toString() + val cacheData = mMarkersCaches[trackId] + if (cacheData != null) { + colorTrafficData.add(trackId) + tempTrafficData.add(cacheData.toBuilder().setColor("#FFD53EFF").build()) + } + MogoMarkerManager.getInstance(AbsMogoApplication.getApp()) + .updateBatchMarkerPosition(tempTrafficData) + } } /** 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 6db2022059..7ddd278518 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 @@ -130,6 +130,9 @@ public class ObjectUtils { markerOptions.setRotateAngle((float) trafficData.getHeading()); markerOptions.setLat(trafficData.getLatitude()); markerOptions.setLon(trafficData.getLongitude()); + if(trafficData.getColor()!=null && !trafficData.getColor().isEmpty()){ + markerOptions.setColor(trafficData.getColor()); + } } catch (Exception e) { e.printStackTrace(); } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java index df77438030..44fad090b1 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/routeoverlay/RouteOverlayDrawer.java @@ -376,9 +376,9 @@ public class RouteOverlayDrawer { isExcept = true; } long drawEnd = SystemClock.elapsedRealtime(); - Log.d("Route", "draw cost:" + (drawEnd - drawStart) + "ms and isExcept:" + isExcept + "::removeCount:" + removeCount + "::total:" + total); +// Log.d("Route", "draw cost:" + (drawEnd - drawStart) + "ms and isExcept:" + isExcept + "::removeCount:" + removeCount + "::total:" + total); } catch (Throwable t) { - Log.d("Route","error:" + Log.getStackTraceString(t)); +// Log.d("Route","error:" + Log.getStackTraceString(t)); } finally { try { if (isExcept) { @@ -394,7 +394,7 @@ public class RouteOverlayDrawer { } } } catch (Throwable t) { - Log.d("Route", "error2:" + Log.getStackTraceString(t)); +// Log.d("Route", "error2:" + Log.getStackTraceString(t)); } } } @@ -431,10 +431,10 @@ public class RouteOverlayDrawer { // 计算车辆与点之间的夹角 long diffAngle = DrivingDirectionUtils.getDegreeOfCar2Poi2( car_lon, car_lat, lon, lat, car_head); - Log.d("Route", "isPointOnCarFront: angle->" + diffAngle); +// Log.d("Route", "isPointOnCarFront: angle->" + diffAngle); return diffAngle; } finally { - Log.d("Route", "isPointOnCarFront cost:" + (SystemClock.elapsedRealtime() - start) + "ms"); +// Log.d("Route", "isPointOnCarFront cost:" + (SystemClock.elapsedRealtime() - start) + "ms"); } } }