+ * version: 1.0
+ */
+public class V2XAlarmServer {
+
+ // 记录道路播报的事件
+ public static ConcurrentHashMap
+ * 状态描述
+ */
+public enum V2XStatusDescriptor {
+
+ /**
+ * 地图 V2X道路预警POI
+ */
+ RoadEventPOI_UI,
+
+ /**
+ * 按钮 V2X道路预警
+ */
+ RoadEventButton_UI,
+
+ /**
+ * 头部 V2X道路预警 UI
+ */
+ RoadEventWindow_UI,
+
+ /**
+ * 头部 V2X的道路直播 UI
+ */
+ RoadLiveCarWindow_UI,
+
+ /**
+ * 地图 他人车辆故障求助POI
+ */
+ OtherSeekHelpPOI_UI,
+
+ /**
+ * 头部 他人车辆故障求助 UI 是否在展示
+ */
+ OtherSeekHelpWindow_UI,
+
+ /**
+ * 头部 自身的道路求助按钮 UI 是否在展示
+ */
+ MeSeekHelpButton_UI,
+
+ /**
+ * 右侧2/3 V2X 场景动画 UI 是否在展示
+ */
+ V2XAnimationWindow_UI,
+
+ /**
+ * 右侧2/3 左下角 模拟直播车机 UI 是否在展示
+ */
+ LiveCarWindow_UI,
+
+ /**
+ * 右侧2/3 左下角 模拟直播车机 UI 是否在展示
+ */
+ V2XRoadVideo_UI,
+
+ /**
+ * 推送的POI
+ */
+ PushWindowPOI_UI,
+
+ /**
+ * 推送的弹窗
+ */
+ PushWindow_UI,
+
+ /**
+ * 疲劳驾驶弹窗
+ */
+ FatigueDrivingWindow_UI,
+
+ /**
+ * 事件面板状态
+ */
+ EventPanelWindow_UI,
+}
diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/V2XStatusManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/V2XStatusManager.java
new file mode 100644
index 0000000000..3a959583f9
--- /dev/null
+++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/V2XStatusManager.java
@@ -0,0 +1,62 @@
+package com.mogo.eagle.core.function.v2x.events.manager;
+
+import com.mogo.eagle.core.data.map.MogoLatLng;
+import com.mogo.eagle.core.data.map.MogoLocation;
+import com.mogo.module.common.entity.V2XRoadEventEntity;
+
+/**
+ * author : donghongyu
+ * e-mail : 1358506549@qq.com
+ * date : 2020/4/3 2:34 PM
+ * desc : V2X状态管理
+ * version: 1.0
+ */
+public class V2XStatusManager {
+ private static V2XStatusManager mV2XStatusManager;
+ // 正在进行的告警事件详情
+ private V2XRoadEventEntity mAlarmInfo;
+
+ private MogoLocation mLocation;
+
+ private V2XStatusManager() {
+ }
+
+ /**
+ * 获取操作实体
+ */
+ public static synchronized V2XStatusManager getInstance() {
+ synchronized (V2XStatusManager.class) {
+ if (mV2XStatusManager == null) {
+ mV2XStatusManager = new V2XStatusManager();
+ }
+ }
+ return mV2XStatusManager;
+ }
+
+ public void setAlarmInfo(V2XRoadEventEntity eventEntity) {
+ this.mAlarmInfo = eventEntity;
+ }
+
+ // 获取目标事件经纬度
+ public MogoLatLng getTargetMoGoLatLng() {
+ if (mAlarmInfo != null) {
+ return new MogoLatLng(
+ mAlarmInfo.getLocation().getLat(),
+ mAlarmInfo.getLocation().getLon()
+ );
+ }
+ return null;
+ }
+
+ public MogoLocation getLocation() {
+ if (mLocation == null) {
+ mLocation = new MogoLocation();
+ }
+ //Logger.d(V2XConst.MODULE_NAME, "当前车辆位置:" + mLocation.toString());
+ return mLocation;
+ }
+
+ public void setLocation(MogoLocation mLocation) {
+ this.mLocation = mLocation;
+ }
+}
diff --git a/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java
new file mode 100644
index 0000000000..c986a1e3bf
--- /dev/null
+++ b/core/function-impl/mogo-core-function-v2x/src/main/java/com/mogo/eagle/core/function/v2x/events/manager/impl/MoGoPersonWarnPolylineManager.java
@@ -0,0 +1,85 @@
+package com.mogo.eagle.core.function.v2x.events.manager.impl;
+
+import android.content.Context;
+import android.util.Log;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.mogo.eagle.core.data.map.MogoLatLng;
+import com.mogo.eagle.core.function.v2x.events.bridge.BridgeApi;
+import com.mogo.eagle.core.function.v2x.events.consts.MoGoV2XServicePaths;
+import com.mogo.eagle.core.function.v2x.events.consts.V2XConst;
+import com.mogo.eagle.core.function.v2x.events.entity.model.DrawLineInfo;
+import com.mogo.eagle.core.function.v2x.events.manager.IMoGoPersonWarnPolylineManager;
+import com.mogo.map.overlay.IMogoOverlayManager;
+import com.mogo.map.overlay.IMogoPolyline;
+import com.mogo.map.overlay.MogoPolylineOptions;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 绘制行人和二轮车连线
+ */
+@Route(path = MoGoV2XServicePaths.PATH_V2X_PERSON_WARN_POLYLINE_MANAGER)
+public class MoGoPersonWarnPolylineManager implements IMoGoPersonWarnPolylineManager {
+ private static IMogoPolyline mMogoPolyline;
+
+
+ @Override
+ public void drawPersonWarnPolyline(Context context, DrawLineInfo info) {
+ if (info == null) {
+ return;
+ }
+
+ try {
+ if (mMogoPolyline != null) {
+ mMogoPolyline.remove();
+ }
+
+ // 连接线参数
+ MogoPolylineOptions options = new MogoPolylineOptions().setGps(true);
+
+ // 渐变色
+ List
+ * 接口描述
+ */
+public interface V2XApiService {
+
+ /**
+ * 直播点赞
+ */
+ @FormUrlEncoded
+ @POST("/yycp-geo-fence-carService/restrictedRules/car/liveBroadcastPraise")
+ Observable
+ * 刷新回调
+ */
+public interface V2XRefreshCallback