From 41fed0e1ec739e72981bff3d44cbd932b20bf0e0 Mon Sep 17 00:00:00 2001 From: zhongchao Date: Thu, 13 May 2021 11:35:56 +0800 Subject: [PATCH] add invisible and visible all markers --- .../mogo/map/marker/IMogoMarkerManager.java | 10 ++++++++++ .../mogo/map/marker/MogoMarkersHandler.java | 18 ++++++++++++++++++ .../receiver/TestPanelBroadcastReceiver.java | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarkerManager.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarkerManager.java index 433b4dada0..86b5d5385f 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarkerManager.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/IMogoMarkerManager.java @@ -46,6 +46,16 @@ public interface IMogoMarkerManager { */ void removeMarkers(); + /** + * 显示地图上添加的所有markers + */ + void visibleAllMarkers(); + + /** + * 隐藏地图上添加的所有markers + */ + void inVisibleAllMarkers(); + /** * 获取某种类型的全部marker。 * diff --git a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/MogoMarkersHandler.java b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/MogoMarkersHandler.java index 2530bb1f29..4eede46dcb 100644 --- a/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/MogoMarkersHandler.java +++ b/libraries/mogo-map-api/src/main/java/com/mogo/map/marker/MogoMarkersHandler.java @@ -1,7 +1,11 @@ package com.mogo.map.marker; +import android.annotation.SuppressLint; +import android.os.Build; import android.text.TextUtils; +import androidx.annotation.RequiresApi; + import com.mogo.map.listener.IMogoMapListener; import com.mogo.map.listener.IMogoMapListenerRegister; @@ -43,6 +47,20 @@ public class MogoMarkersHandler implements IMogoMarkerClickListener, IMogoMarker sInstance = null; } + @SuppressLint("NewApi") + public synchronized void visibleAll(){ + mServicesMarkers.values().stream() + .filter(mogoMarkerList -> mogoMarkerList != null && !mogoMarkerList.isEmpty()) + .forEach(mogoMarkerList -> mogoMarkerList.forEach(mogoMarker -> mogoMarker.setVisible(true))); + } + + @SuppressLint("NewApi") + public synchronized void inVisibleAll(){ + mServicesMarkers.values().stream() + .filter(mogoMarkerList -> mogoMarkerList != null && !mogoMarkerList.isEmpty()) + .forEach(mogoMarkerList -> mogoMarkerList.forEach(mogoMarker -> mogoMarker.setVisible(false))); + } + public synchronized void removeAll() { final Collection< List< IMogoMarker > > mogoMarkers = mServicesMarkers.values(); for ( List< IMogoMarker > mogoMarkerList : mogoMarkers ) { diff --git a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java index 93d9c8cde2..1f7b980c21 100644 --- a/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java +++ b/modules/mogo-module-v2x/src/main/java/com/mogo/module/v2x/receiver/TestPanelBroadcastReceiver.java @@ -16,7 +16,6 @@ import com.mogo.module.v2x.V2XConst; import com.mogo.module.v2x.V2XServiceManager; import com.mogo.module.v2x.entity.net.V2XOptimalRouteDataRes; import com.mogo.module.v2x.entity.net.V2XSpecialCarRes; -import com.mogo.module.v2x.scenario.impl.V2XScenarioManager; import com.mogo.module.v2x.scenario.scene.livecar.V2XVoiceCallLiveBiz; import com.mogo.module.v2x.utils.TestOnLineCarUtils; import com.mogo.module.v2x.utils.V2XSQLiteUtils; @@ -161,6 +160,7 @@ public class TestPanelBroadcastReceiver extends BroadcastReceiver { intent.putExtra(V2XConst.BROADCAST_SCENE_EXTRA_KEY, v2XMessageEntity); LocalBroadcastManager.getInstance(mContext).sendBroadcast(intent); } else if (sceneType == 18) { //test visualAngle UI + V2XServiceManager.getMapService().getMarkerManager(mContext).inVisibleAllMarkers(); V2XServiceManager.getMapService().getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_LONG_SIGHT); } else if (sceneType == 19) { //test visualAngle UI V2XServiceManager.getMapService().getMapUIController().changeMapVisualAngle(VisualAngleMode.MODE_MEDIUM_SIGHT);