|
|
|
|
@@ -59,12 +59,12 @@
|
|
|
|
|
// @Override
|
|
|
|
|
// public void drawPOI(Object entity) {
|
|
|
|
|
// try {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "===drawPOI");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "===drawPOI");
|
|
|
|
|
// mCloundWarningInfo = (V2XWarningTarget) entity;
|
|
|
|
|
// drawLineWithEntity();
|
|
|
|
|
//
|
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, e.toString());
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, e.toString());
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// }
|
|
|
|
|
@@ -115,14 +115,14 @@
|
|
|
|
|
// //衡阳交付-取消划线需求,只渲染识别物红色模型移动过程
|
|
|
|
|
// //handleStopLine();
|
|
|
|
|
// }, 0);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "显示时间为++" + showTime + "识别物类型:" +
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "显示时间为++" + showTime + "识别物类型:" +
|
|
|
|
|
// String.valueOf(mCloundWarningInfo.getType()));
|
|
|
|
|
//
|
|
|
|
|
// } else { //无停止线
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "无停止线");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "无停止线");
|
|
|
|
|
// WorkThreadHandler.getInstance().postDelayed(() -> {
|
|
|
|
|
// /* 衡阳交付-取消划线需求,只渲染识别物红色模型移动过程
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "无停止线" + mCloundWarningInfo.toString());
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "无停止线" + mCloundWarningInfo.toString());
|
|
|
|
|
// //绘制识别物与交汇点连线,并且更新连线数据
|
|
|
|
|
// drawOtherObjectLine(mCloundWarningInfo);
|
|
|
|
|
// //二轮车和行人的渲染和移动
|
|
|
|
|
@@ -130,7 +130,7 @@
|
|
|
|
|
// if (carLocation.lat != 0 && carLocation.lon != 0) {
|
|
|
|
|
// drawSelfCarLine(carLocation.lon, carLocation.lat, bearing);
|
|
|
|
|
// } else {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "数据为空carLocation == null");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "数据为空carLocation == null");
|
|
|
|
|
// }
|
|
|
|
|
// */
|
|
|
|
|
// Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMarkerService()).renderWarningMoveMarker(mCloundWarningInfo.getLon()
|
|
|
|
|
@@ -153,7 +153,7 @@
|
|
|
|
|
// MogoLatLng startLatLng = new MogoLatLng(carLocation.lat, carLocation.lon);
|
|
|
|
|
// MogoLatLng endLatLng = new MogoLatLng(middleLocationInStopLine.lat, middleLocationInStopLine.lon);
|
|
|
|
|
// double angle = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "angle==" + String.valueOf(angle));
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "angle==" + String.valueOf(angle));
|
|
|
|
|
// return angle;
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
@@ -166,14 +166,14 @@
|
|
|
|
|
// startLatLng, MogoLatLng mogoLatLng) {
|
|
|
|
|
// if (info != null) {
|
|
|
|
|
// double angle = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, mogoLatLng.lon, mogoLatLng.lat);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "angle==drawRedWarningLineFrontOfStopLine:" + String.valueOf(angle));
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "angle==drawRedWarningLineFrontOfStopLine:" + String.valueOf(angle));
|
|
|
|
|
// IMoGoStopPolylineManager stopPolyLineMnager = BridgeApi.INSTANCE.v2xStopPolyline();
|
|
|
|
|
// if (stopPolyLineMnager != null) {
|
|
|
|
|
// IMogoPolyline polyLine = stopPolyLineMnager.getMogoStopPolyline();
|
|
|
|
|
// MogoLatLng endLatlng = new MogoLatLng(mogoLatLng.lat, mogoLatLng.lon);
|
|
|
|
|
// MogoLatLng addMiddleLoc = Trigonometric.getNewLocation(startLatLng.lon, startLatLng.lat, 25, angle);
|
|
|
|
|
// if (polyLine != null) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "drawStopLine polyLine != null");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "drawStopLine polyLine != null");
|
|
|
|
|
// polyLine.setPoints(Arrays.asList(startLatLng, addMiddleLoc, endLatlng));
|
|
|
|
|
// polyLine.setTransparency(0.5f);
|
|
|
|
|
// } else {
|
|
|
|
|
@@ -184,11 +184,11 @@
|
|
|
|
|
// locations.add(endLatlng);
|
|
|
|
|
// lineInfo.setLocations(locations);
|
|
|
|
|
// lineInfo.setHeading(info.getHeading());
|
|
|
|
|
// CallerLogger.INSTANCE.d(TAG, "drawStopLine width = " + info.getRoadwidth());
|
|
|
|
|
// CallerLogger.d(TAG, "drawStopLine width = " + info.getRoadwidth());
|
|
|
|
|
// lineInfo.setWidth(info.getRoadwidth() * 14 + 5);
|
|
|
|
|
// stopPolyLineMnager.drawStopPolyline(BridgeApi.INSTANCE.context(), lineInfo);
|
|
|
|
|
// }
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "停止线前方50m区域的三个坐标点是:" + startLatLng.lon + "," + startLatLng.lat +
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "停止线前方50m区域的三个坐标点是:" + startLatLng.lon + "," + startLatLng.lat +
|
|
|
|
|
// "中间点坐标:" + addMiddleLoc.lon + "," + addMiddleLoc.lat
|
|
|
|
|
// + "终点" + endLatlng.lon + "," + endLatlng.lat);
|
|
|
|
|
// }
|
|
|
|
|
@@ -199,7 +199,7 @@
|
|
|
|
|
//
|
|
|
|
|
// public void clearAllLine() {
|
|
|
|
|
// UiThreadHandler.postDelayed(() -> {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "清除所有预警线的时间是:" + String.valueOf(showTime));
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "清除所有预警线的时间是:" + String.valueOf(showTime));
|
|
|
|
|
// //清除识别物到碰撞点预警线
|
|
|
|
|
// IMoGoPersonWarnPolylineManager personStopPolyLineManager = BridgeApi.INSTANCE.v2xPersonWarnPolyline();
|
|
|
|
|
// if (personStopPolyLineManager != null) {
|
|
|
|
|
@@ -251,10 +251,10 @@
|
|
|
|
|
// }
|
|
|
|
|
// fillPoints.add(y);
|
|
|
|
|
// } else {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "停止线数据不存在");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "停止线数据不存在");
|
|
|
|
|
// }
|
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// CallerLogger.INSTANCE.e(M_V2X + TAG, "exception : " + e);
|
|
|
|
|
// CallerLogger.e(M_V2X + TAG, "exception : " + e);
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
@@ -294,7 +294,7 @@
|
|
|
|
|
// * */
|
|
|
|
|
// private MogoLatLng getMiddleLocationInStopLine() {
|
|
|
|
|
// if (carLocation.lat == 0 || carLocation.lon == 0) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "获取不到车的位置");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "获取不到车的位置");
|
|
|
|
|
// }
|
|
|
|
|
// MogoLatLng newLocation = new MogoLatLng(0, 0);
|
|
|
|
|
// if (mCloundWarningInfo != null && mCloundWarningInfo.getStopLines() != null && mCloundWarningInfo.getStopLines().size() > 1) {
|
|
|
|
|
@@ -304,7 +304,7 @@
|
|
|
|
|
// double angle = Trigonometric.getAngle(x.getLat(), x.getLat(), y.getLon(), y.getLat());
|
|
|
|
|
// newLocation = Trigonometric.getNewLocation(x.getLon(), x.getLat(), distance * 0.5, angle);
|
|
|
|
|
// } else {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "停止线返回坐标点数量不正确" + mCloundWarningInfo.getStopLines().size());
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "停止线返回坐标点数量不正确" + mCloundWarningInfo.getStopLines().size());
|
|
|
|
|
// }
|
|
|
|
|
// return newLocation;
|
|
|
|
|
// }
|
|
|
|
|
@@ -316,7 +316,7 @@
|
|
|
|
|
// * lat 自车纬度
|
|
|
|
|
// */
|
|
|
|
|
// public void drawSelfCarLine(double lon, double lat, float bearing) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "drawSelfCarLine");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "drawSelfCarLine");
|
|
|
|
|
// if (!isSelfLineClear) {
|
|
|
|
|
// if (mCloundWarningInfo != null) {
|
|
|
|
|
// IMoGoWarnPolylineManager warnPolyLineManager = BridgeApi.INSTANCE.v2xWarnPolyline();
|
|
|
|
|
@@ -342,7 +342,7 @@
|
|
|
|
|
// //扩展点为了渐变色添加
|
|
|
|
|
// addMiddleLoc = Trigonometric.getNewLocation(startLatlng.getLon(), startLatlng.getLat(), distance / 2,
|
|
|
|
|
// Trigonometric.getAngle(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat));
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "angle==扩展点为了渐变色添加:" +
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "angle==扩展点为了渐变色添加:" +
|
|
|
|
|
// String.valueOf(Trigonometric.getAngle(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat)));
|
|
|
|
|
// if (mogoPolyline != null) {
|
|
|
|
|
// mogoPolyline.setPoints(Arrays.asList(startLatlng, addMiddleLoc, endLatlng));
|
|
|
|
|
@@ -360,9 +360,9 @@
|
|
|
|
|
// info.setHasStopLines(mCloundWarningInfo.getStopLines().size() > 0);
|
|
|
|
|
// }
|
|
|
|
|
// warnPolyLineManager.drawWarnPolyline(BridgeApi.INSTANCE.context(), info);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "自车前方第一条线" + "起点:" + startLatlng + "中间点:" + addMiddleLoc + "终点:" + endLatlng);
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "自车前方第一条线" + "起点:" + startLatlng + "中间点:" + addMiddleLoc + "终点:" + endLatlng);
|
|
|
|
|
// }
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "自车为起点绘制 自车;" + startLatlng.lon + "," + startLatlng.lat +
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "自车为起点绘制 自车;" + startLatlng.lon + "," + startLatlng.lat +
|
|
|
|
|
// "中间扩展点" + addMiddleLoc.lon + "," + addMiddleLoc.lat + "终点:" + endLatlng.lon + "," + endLatlng.lat);
|
|
|
|
|
// } else {
|
|
|
|
|
// clearAllLine();
|
|
|
|
|
@@ -375,7 +375,7 @@
|
|
|
|
|
// */
|
|
|
|
|
// private void drawOtherObjectLine(V2XWarningTarget info) {
|
|
|
|
|
// if (info != null) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "info != null");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "info != null");
|
|
|
|
|
// IMoGoPersonWarnPolylineManager personWarnPolylineManager = BridgeApi.INSTANCE.v2xPersonWarnPolyline();
|
|
|
|
|
// if (personWarnPolylineManager == null) {
|
|
|
|
|
// return;
|
|
|
|
|
@@ -387,7 +387,7 @@
|
|
|
|
|
// MogoLatLng addMiddleLoc = Trigonometric.getNewLocation(startLatlng.getLon(), startLatlng.getLat(), distance / 2,
|
|
|
|
|
// Trigonometric.getAngle(startLatlng.lon, startLatlng.lat, endLatlng.lon, endLatlng.lat));//补点
|
|
|
|
|
// if (polyLine != null) {
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "目标物与碰撞点连线 != null");
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "目标物与碰撞点连线 != null");
|
|
|
|
|
// polyLine.setPoints(Arrays.asList(startLatlng, addMiddleLoc, endLatlng));
|
|
|
|
|
// polyLine.setTransparency(0.5f);
|
|
|
|
|
// } else {
|
|
|
|
|
@@ -402,10 +402,10 @@
|
|
|
|
|
// lineInfo.setHeading(info.getHeading());
|
|
|
|
|
// lineInfo.setWidth(info.getRoadwidth() * 14 + 5);
|
|
|
|
|
// personWarnPolylineManager.drawPersonWarnPolyline(BridgeApi.INSTANCE.context(), lineInfo);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "目标物与预碰撞点画线点为" + "起点:" + startLatlng + "中间点:" + addMiddleLoc + "终点:" + endLatlng);
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "目标物与预碰撞点画线点为" + "起点:" + startLatlng + "中间点:" + addMiddleLoc + "终点:" + endLatlng);
|
|
|
|
|
// }
|
|
|
|
|
// } else {
|
|
|
|
|
// CallerLogger.INSTANCE.e(M_V2X + TAG, "info == null");
|
|
|
|
|
// CallerLogger.e(M_V2X + TAG, "info == null");
|
|
|
|
|
// clearAllLine();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
@@ -415,14 +415,14 @@
|
|
|
|
|
// float distance = CoordinateUtils.calculateLineDistance(
|
|
|
|
|
// startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat);
|
|
|
|
|
// double rotate = Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat);
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "添加小箭头--目标物与预碰撞点之间的距离是" + String.valueOf(distance));
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "添加小箭头--目标物与预碰撞点之间的距离是" + String.valueOf(distance));
|
|
|
|
|
// if (distance > 5) {
|
|
|
|
|
// int count = (int) (distance / 5);
|
|
|
|
|
// for (int i = 0; i < count; i++) {
|
|
|
|
|
// MogoLatLng newLo = Trigonometric.getNewLocation(
|
|
|
|
|
// startLatLng.getLon(), startLatLng.getLat(), 5 * (i + 1), Trigonometric.getAngle(startLatLng.lon, startLatLng.lat, endLatLng.lon, endLatLng.lat));
|
|
|
|
|
// Objects.requireNonNull(CallerMapUIServiceManager.INSTANCE.getMarkerService()).drawerArrowsMarkerWithLocation(newLo, WARNING_ARROWS, 10, new Double(rotate).intValue());
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "小箭头位置" + newLo);
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "小箭头位置" + newLo);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
@@ -441,6 +441,6 @@
|
|
|
|
|
// //衡阳交付-取消划线需求,只渲染识别物红色模型移动过程
|
|
|
|
|
// //drawSelfCarLine(latLng.getLongitude(), latLng.getLatitude(), latLng.getBearing());
|
|
|
|
|
// }
|
|
|
|
|
// CallerLogger.INSTANCE.d(M_V2X + TAG, "车辆行驶轨迹" + latLng.getLongitude() + "," + latLng.getLatitude());
|
|
|
|
|
// CallerLogger.d(M_V2X + TAG, "车辆行驶轨迹" + latLng.getLongitude() + "," + latLng.getLatitude());
|
|
|
|
|
// }
|
|
|
|
|
//}
|
|
|
|
|
|