diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java index 26572251a6..b3028b2830 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/MogoServices.java @@ -714,13 +714,12 @@ public class MogoServices implements IMogoMapListener, case ACC_STATUS: if ( isTrue ) { mADASController.showADAS(); - refreshStrategy(); - } else { try { MarkerServiceHandler.getApis().getMapServiceApi().getMarkerManager( mContext ).removeMarkers(); } catch ( Exception e ) { Logger.e( TAG, e, "error." ); } + refreshStrategy(); } break; } diff --git a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java index 7e0c094b6f..43613ad77f 100644 --- a/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java +++ b/modules/mogo-module-service/src/main/java/com/mogo/module/service/marker/MapMarkerManager.java @@ -293,6 +293,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, MogoLatLng centerPoint ) { // 将数据同步给在线车辆,避免每次 perform 的时候去拉取,造成消耗 if ( onlineCarList == null || onlineCarList.isEmpty() ) { + MarkerServiceHandler.getMarkerManager().removeMarkers( ModuleNames.CARD_TYPE_USER_DATA ); return; } @@ -324,9 +325,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, String sn = getPrimaryKeyFromEntity( markerOnlineCar ); IMogoMarker mogoMarker = existCarMap.get( sn ); - if ( mogoMarker == null ) { + if ( mogoMarker == null || mogoMarker.isDestroyed() ) { mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_LOW ); } + if ( mogoMarker != null ) { + mogoMarker.setVisible( true ); + } startSmooth( mogoMarker, markerOnlineCar, markerLocation ); } @@ -362,9 +366,12 @@ public class MapMarkerManager implements IMogoMarkerClickListener, String sn = getPrimaryKeyFromEntity( markerExploreWay ); IMogoMarker mogoMarker = existCarMap.get( sn ); - if ( mogoMarker == null ) { + if ( mogoMarker == null || mogoMarker.isDestroyed() ) { Logger.d( TAG, "draw road condition, sn = %s", sn ); - drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + mogoMarker = drawMapMarker( markerShowEntity, ServiceConst.MARKER_Z_INDEX_HIGH ); + } + if ( mogoMarker != null ) { + mogoMarker.setVisible( true ); } } }