diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt index 4cdff6fe9b..74e24d0cac 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/overview/vm/OverViewModel.kt @@ -75,6 +75,9 @@ class OverViewModel( } fun getAllV2XEventsByLineId(lineId: String, sn: String) { + if (disposable != null && !disposable!!.isDisposed) { + disposable!!.dispose() + } // 1分钟查询一次 disposable = Observable.interval(0, 60000, TimeUnit.SECONDS) .flatMap { diff --git a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java index 3b626ed794..e9370d84dd 100644 --- a/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java +++ b/core/function-impl/mogo-core-function-map/src/main/java/com/mogo/eagle/core/function/smp/OverviewMapFragment.java @@ -78,6 +78,14 @@ public class OverviewMapFragment extends BaseFragment } } + @Override + public void startQueryV2XEvents() { + long lineId = getLineId(); + if (lineId > 0) { + mViewModel.getAllV2XEventsByLineId("" + lineId, MoGoAiCloudClientConfig.getInstance().getSn()); + } + } + @Override public void clearV2XMarkers() { if (Thread.currentThread() != Looper.getMainLooper().getThread()) { diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java index 9ff30c8670..0589535390 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/map/smp/IMogoSmallMapProvider.java @@ -30,5 +30,7 @@ public interface IMogoSmallMapProvider { */ void clearPolyline(); + default void startQueryV2XEvents() {} + default void clearV2XMarkers() {} } diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt index 13e5153fa9..52e17b88aa 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerSmpManager.kt @@ -48,6 +48,11 @@ object CallerSmpManager : CallerBase() { mogoSmallMapProvider.hidePanel() } + @JvmStatic + fun startQueryV2XEvents() { + mogoSmallMapProvider.startQueryV2XEvents() + } + @JvmStatic fun clearV2XMarkers() { mogoSmallMapProvider.clearV2XMarkers()