diff --git a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java index 94a3af8e9e..cc46a2059b 100644 --- a/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java +++ b/modules/mogo-module-common/src/main/java/com/mogo/module/common/drawer/V2XWarnDataDrawer.java @@ -1,6 +1,7 @@ package com.mogo.module.common.drawer; import android.util.Log; +import android.widget.LinearLayout; import com.mogo.map.MogoLatLng; import com.mogo.map.marker.IMogoMarker; @@ -21,6 +22,9 @@ import com.mogo.utils.UiThreadHandler; import com.mogo.utils.ViewUtils; import com.mogo.utils.logger.Logger; +import java.util.ArrayList; +import java.util.List; + import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_STOP_LINE_DATA; import static com.mogo.module.common.constants.DataTypes.TYPE_MARKER_CLOUD_WARN_DATA; @@ -33,6 +37,7 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL private static final String TAG = "V2XWarnDataDrawer"; private static volatile V2XWarnDataDrawer sInstance; private boolean mChangeCarModeStatus; + private List stopLineMarker = new ArrayList(); private V2XWarnDataDrawer() { super(); @@ -164,6 +169,11 @@ public class V2XWarnDataDrawer extends BaseDrawer implements IMogoStatusChangedL * @param data */ public void renderStopLineData(V2XWarningEntity data) { + if (stopLineMarker.size() > 0) { + for (int i = 0; i < stopLineMarker.size(); i++) { + stopLineMarker.get(i).remove(); + } + } MarkerLocation location = new MarkerLocation(); location.setLat(data.getLat()); location.setLon(data.getLon()); diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java index f680c258ea..a007d33ae9 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/manager/impl/MoGoV2XCloundDataManager.java @@ -133,17 +133,21 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog * 停止线绘制 * */ private void handleStopLine() { - if (mCloundWarningInfo != null) { - for (int i = 0; i < fillPoints.size(); i++) { - V2XWarningEntity entity = new V2XWarningEntity(); - MogoLatLng latLng = (MogoLatLng) fillPoints.get(i); - entity.setLat(latLng.lat); - entity.setLon(latLng.lon); - entity.setCollisionLat(mCloundWarningInfo.getCollisionLat()); - entity.setCollisionLon(mCloundWarningInfo.getCollisionLon()); - entity.heading = mCloundWarningInfo.heading; - V2XWarnDataDrawer.getInstance().renderStopLineData(entity); + try { + if (mCloundWarningInfo != null) { + for (int i = 0; i < fillPoints.size(); i++) { + V2XWarningEntity entity = new V2XWarningEntity(); + MogoLatLng latLng = (MogoLatLng) fillPoints.get(i); + entity.setLat(latLng.lat); + entity.setLon(latLng.lon); + entity.setCollisionLat(mCloundWarningInfo.getCollisionLat()); + entity.setCollisionLon(mCloundWarningInfo.getCollisionLon()); + entity.heading = mCloundWarningInfo.heading; + V2XWarnDataDrawer.getInstance().renderStopLineData(entity); + } } + } catch (Exception e) { + e.printStackTrace(); } } @@ -228,7 +232,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog int count = (int) (distance / 5); for (int i = 0; i < count; i++) { MogoLatLng newLo = Trigonometric.getNewLocation( - startLatLng, 5 * (i + 1), Trigonometric.getAngle(startLatLng.lon,startLatLng.lat,endLatLng.lon,endLatLng.lat)); + startLatLng, 5 * (i + 1), Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat)); Log.d(TAG, "小箭头位置" + newLo); V2XWarnDataDrawer.getInstance().drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10, new Double(rotate).intValue()); } diff --git a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml index 519659e5b6..874e77dc9f 100644 --- a/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml +++ b/modules/mogo-module-v2x/src/main/res/layout/window_test_console.xml @@ -237,6 +237,7 @@ android:textColor="#FFFFFF" android:textSize="@dimen/dp_22" android:textStyle="bold" /> +