From 1b1c70a6a18da6c480375ebe3beac46fda0419bd Mon Sep 17 00:00:00 2001 From: lixiaopeng Date: Thu, 15 Apr 2021 18:47:21 +0800 Subject: [PATCH] fixed conflict --- .idea/gradle.xml | 1 + .../impl/MoGoV2XCloundDataManager.java | 38 +++++++++++++------ 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 83405b8de1..4ff10f68a5 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -91,6 +91,7 @@ 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 02939d2583..de5b02ee6b 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 @@ -10,6 +10,7 @@ import com.mogo.map.MogoLatLng; import com.mogo.map.navi.IMogoCarLocationChangedListener2; import com.mogo.map.overlay.IMogoPolyline; import com.mogo.module.common.MogoApisHandler; +import com.mogo.module.common.drawer.MarkerDrawer; import com.mogo.module.common.constants.AdasRecognizedType; import com.mogo.module.common.drawer.V2XWarnDataDrawer; import com.mogo.module.common.entity.MarkerShowEntity; @@ -22,6 +23,7 @@ import com.mogo.module.v2x.MoGoV2XServicePaths; import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.entity.model.DrawLineInfo; +import com.mogo.module.v2x.listener.V2XLocationListener; import com.mogo.module.v2x.manager.IMoGoV2XCloundDataManager; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.WorkThreadHandler; @@ -50,6 +52,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog private MogoLatLng middleLocationInStopLine; private static long showTime = 0; + private float bearing; @Override public void init(Context context) { @@ -64,6 +67,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog mCloundWarningInfo = cloundWarningInfo; showTime = mCloundWarningInfo.getShowTime(); pointsBetween(); + bearing = V2XLocationListener.getInstance().getLastCarLocation().getBearing(); //预警蒙层 MarkerServiceHandler.getApis().getV2XListenerManager().warningChangedForListenerWithDirection(cloundWarningInfo.getType(), MogoReceiver.ACTION_V2X_FRONT_WARNING); @@ -81,6 +85,11 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog drawStopLine(cloundWarningInfo, middleLocationInStopLine, warningLocation); //添加停止线marker handleStopLine(); + //自车画线 +// drawSlefCarLine(MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLon(), +// MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat(), +// bearing); + }, 500); UiThreadHandler.postDelayed(() -> { @@ -96,6 +105,12 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog drawOtherObjectLine(cloundWarningInfo); //二轮车和行人的渲染和移动 V2XWarnDataDrawer.getInstance().renderWarnData(cloundWarningInfo); + + //车辆静止的时候 TODO +// drawSlefCarLine(MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLon(), +// MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat(), +// bearing); + }, 500); //延迟3秒清理线 @@ -149,7 +164,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog lineInfo.setLocations(locations); lineInfo.setHeading(info.heading); Log.d(V2XConst.LOG_NAME_WARN, "drawStopLine width = " + info.getRoadwidth()); - lineInfo.setWidth(info.getRoadwidth() * 10 + 5); + lineInfo.setWidth(info.getRoadwidth() * 13 + 5); V2XServiceManager.getMoGoStopPolylineManager().drawStopPolyline(getContext(), lineInfo); } } else { @@ -182,7 +197,7 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog lineInfo.setLocations(locations); lineInfo.setHeading(info.heading); Log.d(V2XConst.LOG_NAME_WARN, "drawOtherObjectLine width = " + info.getRoadwidth()); - lineInfo.setWidth(info.getRoadwidth() * 10 + 5); + lineInfo.setWidth(info.getRoadwidth() * 13 + 5); V2XServiceManager.getMoGoPersonWarnPolylineManager().drawPersonWarnPolyline(getContext(), lineInfo); //识别物到预碰撞点之间的箭头 addArrows(startLatlng, endLatlng); @@ -218,32 +233,32 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog } + /** * 自车定位 移动完成需要 3s消失,这里何时清理,应该是没有数据的时候 */ @Override public void onCarLocationChanged2(Location latLng) { -// Log.d(V2XConst.LOG_NAME_WARN, "onCarLocationChanged2 latLng = " + latLng.getLatitude() + "--" + latLng.getLongitude() + "---isSelfLineClear = " + isSelfLineClear); +// Log.d(V2XConst.LOG_NAME_WARN, "onCarLocationChanged2 lat = " + latLng.getLatitude() + "--lon =" + latLng.getLongitude() + "---isSelfLineClear = " + isSelfLineClear); if (MogoApisHandler.getInstance().getApis().getStatusManagerApi().isVrMode()) { //当行人经纬度交点 开始画线,否则清理 if (mCloundWarningInfo != null) { mCloundWarningInfo.setCarLocation(new MogoLatLng(latLng.getLatitude(), latLng.getLongitude())); } - drawSlefCarLine(latLng); + drawSlefCarLine(latLng.getLongitude(), latLng.getLatitude(), latLng.getBearing()); } carLocation = new MogoLatLng(latLng.getLatitude(), latLng.getLongitude()); - drawSlefCarLine(latLng); } @Override public void onCarLocationChanged(MogoLatLng latLng) { - + Log.d("liyz", "latLng -- lon = " + latLng.lon + "----lat = " + latLng.lat); } /** * 绘制安全区域,自车与碰撞点之间的蓝色线 */ - private void drawSlefCarLine(Location latLng) { + private void drawSlefCarLine(double lon, double lat, float bearing) { if (!isSelfLineClear) { IMogoPolyline mogoPolyline = V2XServiceManager.getMoGoWarnPolylineManager().getMogoWarnPolyline(); if (mCloundWarningInfo != null) { @@ -251,9 +266,8 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog MogoLatLng endLatlng = null; MogoLatLng addMiddleLoc = null; if (!isFirstLocation) { - //自车位置 - startLatlng = new MogoLatLng(latLng.getLatitude(), latLng.getLongitude()); - carLocation = getMogoLat(new MogoLatLng(latLng.getLatitude(), latLng.getLongitude())); + startLatlng = new MogoLatLng(lat, lon); + carLocation = getMogoLat(new MogoLatLng(lat, lon)); endLatlng = new MogoLatLng(mCloundWarningInfo.getDirection() == 1 ? carLocation.lat : mCloundWarningInfo.getCollisionLat(), mCloundWarningInfo.getDirection() == 1 ? carLocation.lon : mCloundWarningInfo.getCollisionLon()); float distance = CoordinateUtils.calculateLineDistance(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat); @@ -272,8 +286,8 @@ public class MoGoV2XCloundDataManager implements IMoGoV2XCloundDataManager, IMog locations.add(addMiddleLoc); locations.add(endLatlng); info.setLocations(locations); - info.setHeading(latLng.getBearing()); - info.setWidth(mCloundWarningInfo.getRoadwidth() * 10 + 5); + info.setHeading(bearing); + info.setWidth(mCloundWarningInfo.getRoadwidth() * 13 + 5); info.setDirection(mCloundWarningInfo.getDirection()); V2XServiceManager.getMoGoWarnPolylineManager().drawWarnPolyline(getContext(), info); }