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 6025257b38..10a74a29a8 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 @@ -77,7 +77,8 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag .getMogoSocketManager() .registerOnMessageListener(401001, this); - MarkerServiceHandler.getMogoCardManager().registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() { + MarkerServiceHandler.getMogoCardManager() + .registerCardChangedListener("LAUNCHER_MARKER_MODULE", new IMogoCardChangedListener() { @Override public void onSwitched(int position, String moduleName) { @@ -184,26 +185,32 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag // 对指定类型高亮处理 - public synchronized static void highlightedMarker(String typeTag) { - try { - Map> allMarker = MarkerServiceHandler.getMarkerManager().getAllMarkers(); - for (Map.Entry> entry : allMarker.entrySet()) { - String keyStr = entry.getKey(); - List markerList = entry.getValue(); + public synchronized static void highlightedMarker(final String typeTag) { + Handler handler = new Handler(); + handler.post(new Runnable() { + @Override + public void run() { + try { + Map> allMarker = MarkerServiceHandler.getMarkerManager().getAllMarkers(); + for (Map.Entry> entry : allMarker.entrySet()) { + String keyStr = entry.getKey(); + List markerList = entry.getValue(); - if (keyStr.equals(typeTag)) { - for (IMogoMarker marker : markerList) { - marker.setAlpha(1f); - } - } else { - for (IMogoMarker marker : markerList) { - marker.setAlpha(0.7f); + if (keyStr.equals(typeTag)) { + for (IMogoMarker marker : markerList) { + marker.setAlpha(1f); + } + } else { + for (IMogoMarker marker : markerList) { + marker.setAlpha(0.7f); + } + } } + } catch (Exception e) { + e.printStackTrace(); } } - } catch (Exception e) { - e.printStackTrace(); - } + }); } /** @@ -327,7 +334,7 @@ public class MapMarkerManager implements IMogoMarkerClickListener, IMogoOnMessag } // 将数据同步给探路,避免探路每次 perform 的时候去拉取,造成消耗 - MogoDataHandler.getInstance().invoke( ServiceConst.CARD_TYPE_ROAD_CONDITION, exploreWayList); + MogoDataHandler.getInstance().invoke(ServiceConst.CARD_TYPE_ROAD_CONDITION, exploreWayList); if (exploreWayList != null) { for (MarkerExploreWay markerExploreWay : exploreWayList) { if (!markerExploreWay.getCanLive()) {