diff --git a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XAiRoadEventMarker.kt b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XAiRoadEventMarker.kt index 87737bc785..2e046f3b22 100644 --- a/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XAiRoadEventMarker.kt +++ b/core/function-impl/mogo-core-function-biz/src/main/java/com/mogo/eagle/function/biz/v2x/v2n/scenario/scene/road/V2XAiRoadEventMarker.kt @@ -3,15 +3,17 @@ package com.mogo.eagle.function.biz.v2x.v2n.scenario.scene.road import android.graphics.Color import com.mogo.eagle.core.data.config.FunctionBuildConfig import com.mogo.eagle.core.data.enums.EventTypeEnumNew +import com.mogo.eagle.core.data.enums.EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGU import com.mogo.eagle.core.data.map.MogoLatLng import com.mogo.eagle.core.data.map.entity.V2XRoadEventEntity import com.mogo.eagle.core.function.call.map.CallerMapUIServiceManager import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils.isTaxiPassenger import com.mogo.eagle.function.biz.v2x.v2n.consts.V2XConst import com.mogo.eagle.function.biz.v2x.v2n.remove.MarkerWrapper -import com.mogo.map.overlay.core.* -import com.mogo.map.overlay.line.* -import com.mogo.map.overlay.point.* +import com.mogo.map.overlay.core.Level +import com.mogo.map.overlay.line.Polyline +import com.mogo.map.overlay.point.Point import java.util.concurrent.atomic.AtomicReference class V2XAiRoadEventMarker { @@ -20,15 +22,14 @@ class V2XAiRoadEventMarker { fun drawMarkers(entity: V2XRoadEventEntity, wrapper: MarkerWrapper) { val polygon = entity.noveltyInfo.polygon + val markerBuilder = Point.Options.Builder(V2XConst.V2X_MARKER_OWNER, Level.MAP_MARKER).longitude(entity.location.lon).latitude(entity.location.lat).scale(if (EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGU.poiType == entity.poiType && AppIdentityModeUtils.isTaxiPassenger(FunctionBuildConfig.appIdentityMode)) 0.6f else 1.0f).icon3DRes(EventTypeEnumNew.getMarker3DRes(entity.poiType)).set3DMode(true) + val isSpecial = TYPE_SOCKET_ROAD_SHIGU.poiType == entity.poiType && isTaxiPassenger(FunctionBuildConfig.appIdentityMode) + if (isSpecial) { + markerBuilder.controlAngle(true) + markerBuilder.rotate(-180f) + } CallerMapUIServiceManager.getOverlayManager()?.showOrUpdatePoint( - Point.Options - .Builder(V2XConst.V2X_MARKER_OWNER, Level.MAP_MARKER) - .longitude(entity.location.lon) - .latitude(entity.location.lat) - .scale(if (EventTypeEnumNew.TYPE_SOCKET_ROAD_SHIGU.poiType == entity.poiType && AppIdentityModeUtils.isTaxiPassenger( - FunctionBuildConfig.appIdentityMode)) 0.6f else 1.0f) - .icon3DRes(EventTypeEnumNew.getMarker3DRes(entity.poiType)) - .set3DMode(true) + markerBuilder .build())?.also { wrapper.addPoint(it) } if (polygon != null && polygon.isNotEmpty() && entity.poiType != EventTypeEnumNew.TYPE_SOCKET_ROAD_JINGZHI.poiType) { val builder = Polyline.Options.Builder(V2XConst.V2X_MARKER_OWNER, Level.MAP_POLYGON)