[RoutingOpt]修正车前引导线拖尾问题
[RouterOpt]优化代码逻辑
This commit is contained in:
@@ -322,7 +322,7 @@ object V2XEventManager : IMoGoMapLocationListener, IMoGoTokenCallback, IV2XCallb
|
||||
})
|
||||
}
|
||||
|
||||
override fun onLocationChanged(location: MogoLocation?) {
|
||||
override fun onLocationChanged(location: MogoLocation?, from: Int) {
|
||||
location ?: return
|
||||
BridgeApi.location.set(location)
|
||||
if (V2XManager.hasInit()) {
|
||||
|
||||
@@ -35,70 +35,70 @@ public class MoGoV2XPolylineManager implements IMoGoV2XPolylineManager {
|
||||
|
||||
@Override
|
||||
public void drawablePolyline(Context context, V2XRoadEventEntity roadEventEntity) {
|
||||
try {
|
||||
if (mMogoPolyline != null) {
|
||||
mMogoPolyline.remove();
|
||||
}
|
||||
boolean isRoadEventPOIShow = false;
|
||||
boolean isOtherSeekHelpPOIShow = false;
|
||||
IMoGoV2XStatusManager v2xStatus = BridgeApi.INSTANCE.v2xStatus();
|
||||
if (v2xStatus != null) {
|
||||
isRoadEventPOIShow = v2xStatus.isRoadEventPOIShow();
|
||||
isOtherSeekHelpPOIShow = v2xStatus.isOtherSeekHelpPOIShow();
|
||||
}
|
||||
boolean isVrMode = false;
|
||||
IMogoStatusManager statusManager = BridgeApi.INSTANCE.statusManager();
|
||||
if (statusManager != null) {
|
||||
isVrMode = statusManager.isVrMode();
|
||||
}
|
||||
// try {
|
||||
// if (mMogoPolyline != null) {
|
||||
// mMogoPolyline.remove();
|
||||
// }
|
||||
// boolean isRoadEventPOIShow = false;
|
||||
// boolean isOtherSeekHelpPOIShow = false;
|
||||
// IMoGoV2XStatusManager v2xStatus = BridgeApi.INSTANCE.v2xStatus();
|
||||
// if (v2xStatus != null) {
|
||||
// isRoadEventPOIShow = v2xStatus.isRoadEventPOIShow();
|
||||
// isOtherSeekHelpPOIShow = v2xStatus.isOtherSeekHelpPOIShow();
|
||||
// }
|
||||
// boolean isVrMode = false;
|
||||
// IMogoStatusManager statusManager = BridgeApi.INSTANCE.statusManager();
|
||||
// if (statusManager != null) {
|
||||
// isVrMode = statusManager.isVrMode();
|
||||
// }
|
||||
|
||||
if ((isRoadEventPOIShow
|
||||
|| isOtherSeekHelpPOIShow)
|
||||
&& V2XStatusManager.getInstance().getTargetMoGoLatLng() != null
|
||||
&& !isVrMode
|
||||
) {
|
||||
// 连接线参数
|
||||
MogoPolylineOptions options = new MogoPolylineOptions().setGps(true);
|
||||
|
||||
// 渐变色
|
||||
List<Integer> colors = new ArrayList<>();
|
||||
|
||||
if (EventTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
|| EventTypeEnum.ALERT_TRAFFIC_LIGHT_WARNING.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
|| EventTypeEnum.FOURS_BLOCK_UP.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
|| EventTypeEnum.ALERT_CAR_TROUBLE_WARNING.getPoiType().equals(roadEventEntity.getPoiType())) {
|
||||
colors.add(0xFFFFA31A);
|
||||
colors.add(0xFFFFA31A);
|
||||
} else {
|
||||
colors.add(0xFFE32F46);
|
||||
colors.add(0xFFE32F46);
|
||||
}
|
||||
// 线条粗细,渐变,渐变色值
|
||||
options.width(10).useGradient(true).colorValues(colors);
|
||||
|
||||
// 当前车辆位置
|
||||
MogoLatLng carLocation = new MogoLatLng(
|
||||
CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lat(),
|
||||
CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lon()
|
||||
);
|
||||
|
||||
if (carLocation != null) {
|
||||
options.add(carLocation);
|
||||
} else {
|
||||
options.add(V2XStatusManager.getInstance().getLocation());
|
||||
}
|
||||
// 目标车辆、道路事件位置
|
||||
options.add(V2XStatusManager.getInstance().getTargetMoGoLatLng());
|
||||
|
||||
// 绘制线的对象
|
||||
IMogoOverlayManager overlay = MogoOverlayManager.getInstance();
|
||||
if (overlay != null) {
|
||||
mMogoPolyline = overlay.addPolyline(options);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
// if ((isRoadEventPOIShow
|
||||
// || isOtherSeekHelpPOIShow)
|
||||
// && V2XStatusManager.getInstance().getTargetMoGoLatLng() != null
|
||||
// && !isVrMode
|
||||
// ) {
|
||||
// // 连接线参数
|
||||
// MogoPolylineOptions options = new MogoPolylineOptions().setGps(true);
|
||||
//
|
||||
// // 渐变色
|
||||
// List<Integer> colors = new ArrayList<>();
|
||||
//
|
||||
// if (EventTypeEnum.ALERT_TRAFFIC_LIGHT_SUGGEST.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
// || EventTypeEnum.ALERT_TRAFFIC_LIGHT_WARNING.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
// || EventTypeEnum.FOURS_BLOCK_UP.getPoiType().equals(roadEventEntity.getPoiType())
|
||||
// || EventTypeEnum.ALERT_CAR_TROUBLE_WARNING.getPoiType().equals(roadEventEntity.getPoiType())) {
|
||||
// colors.add(0xFFFFA31A);
|
||||
// colors.add(0xFFFFA31A);
|
||||
// } else {
|
||||
// colors.add(0xFFE32F46);
|
||||
// colors.add(0xFFE32F46);
|
||||
// }
|
||||
// // 线条粗细,渐变,渐变色值
|
||||
// options.width(10).useGradient(true).colorValues(colors);
|
||||
//
|
||||
// // 当前车辆位置
|
||||
// MogoLatLng carLocation = new MogoLatLng(
|
||||
// CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lat(),
|
||||
// CallerAutoPilotStatusListenerManager.INSTANCE.getCurWgs84Lon()
|
||||
// );
|
||||
//
|
||||
// if (carLocation != null) {
|
||||
// options.add(carLocation);
|
||||
// } else {
|
||||
// options.add(V2XStatusManager.getInstance().getLocation());
|
||||
// }
|
||||
// // 目标车辆、道路事件位置
|
||||
// options.add(V2XStatusManager.getInstance().getTargetMoGoLatLng());
|
||||
//
|
||||
// // 绘制线的对象
|
||||
// IMogoOverlayManager overlay = MogoOverlayManager.getInstance();
|
||||
// if (overlay != null) {
|
||||
// mMogoPolyline = overlay.addPolyline(options);
|
||||
// }
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -106,7 +106,7 @@ public class V2XFrontWarningScenario extends AbsV2XScenario implements IMoGoMapL
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(@org.jetbrains.annotations.Nullable MogoLocation location) {
|
||||
public void onLocationChanged(@org.jetbrains.annotations.Nullable MogoLocation location, int from) {
|
||||
sV2XWarningMarker.onCarLocationChanged2(location);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user